我怎样才能 extend/append 一个包含来自变量的多个索引的列表?
How can I extend/append a list with multiple indexes from a variable?
我正在尝试创建一个 binary32 浮点到十进制转换器,它由八位指数和二十四位尾数组成。我有 exponent = []
和 mantissa = []
。如果用户输入 010000111111101101000000000000000
我想将 value
中的索引 1 到 8 添加到 exponent
并将 value
中的索引 9 到 32 添加到 mantissa
.我目前有以下意大利面条代码来执行此操作:
print ("Welcome to August's floating point value to decimal converter!")
value = input("Please enter 32 bit floating value to convert.")
exponent = []
mantissa = []
exponent.append(value[1])
exponent.append(value[2])
exponent.append(value[3])
exponent.append(value[4])
exponent.append(value[5])
exponent.append(value[6])
exponent.append(value[7])
exponent.append(value[8])
print (exponent)
mantissa.append(value[9])
mantissa.append(value[10])
mantissa.append(value[11])
mantissa.append(value[12])
mantissa.append(value[13])
mantissa.append(value[14])
mantissa.append(value[15])
mantissa.append(value[16])
mantissa.append(value[17])
mantissa.append(value[18])
mantissa.append(value[19])
mantissa.append(value[20])
mantissa.append(value[21])
mantissa.append(value[22])
mantissa.append(value[23])
mantissa.append(value[24])
mantissa.append(value[25])
mantissa.append(value[26])
mantissa.append(value[27])
mantissa.append(value[28])
mantissa.append(value[29])
mantissa.append(value[30])
mantissa.append(value[31])
mantissa.append(value[32])
print (mantissa)
所以我想知道是否有办法将它们全部添加到列表中,而不是单独附加每个索引。我尝试了以下 extend
方法:
exponent.extend(value[1, 2, 3, 4, 5, 6, 7, 8])
也没有逗号
exponent.extend(value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], )
然后我意识到 extend
只接受一个参数。
exponent.extend(value[1-8])
好像减去了一和八。
我试过了exponent = {}
我相信哪一套?然后尝试 exponent.update
后跟多个带逗号的索引。然后告诉我它只支持一个论点。
关于如何将 value
中的多个索引添加到列表的任何其他建议?
可以使用字符串切片编写相同的代码:
value = input("Please enter 32 bit floating value to convert.")
exponent, mentissa= value[1:9], value[9:]
虽然您的问题已通过巧妙的解决方案得到解答,但我想真正回答您的原始问题。您可以使用其中之一将列表添加到列表:
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b # c is now [1, 2, 3, 4, 5, 6]
a.extend(b) # a is now [1, 2, 3, 4, 5, 6]
请注意 list.extend
实际上会修改列表,而添加本身不会。但是,您可以执行 a += b
并获得与 a.extend(b)
.
相同的结果
因此您可以执行以下操作:
exponent.extend(value[1:9])
如果您使用 list.extend
,您实际上可以使用任何可迭代对象(如元组或集合),但是当您使用 a += b
或 c = a + b
时,它们通常需要是相同的类型。
我正在尝试创建一个 binary32 浮点到十进制转换器,它由八位指数和二十四位尾数组成。我有 exponent = []
和 mantissa = []
。如果用户输入 010000111111101101000000000000000
我想将 value
中的索引 1 到 8 添加到 exponent
并将 value
中的索引 9 到 32 添加到 mantissa
.我目前有以下意大利面条代码来执行此操作:
print ("Welcome to August's floating point value to decimal converter!")
value = input("Please enter 32 bit floating value to convert.")
exponent = []
mantissa = []
exponent.append(value[1])
exponent.append(value[2])
exponent.append(value[3])
exponent.append(value[4])
exponent.append(value[5])
exponent.append(value[6])
exponent.append(value[7])
exponent.append(value[8])
print (exponent)
mantissa.append(value[9])
mantissa.append(value[10])
mantissa.append(value[11])
mantissa.append(value[12])
mantissa.append(value[13])
mantissa.append(value[14])
mantissa.append(value[15])
mantissa.append(value[16])
mantissa.append(value[17])
mantissa.append(value[18])
mantissa.append(value[19])
mantissa.append(value[20])
mantissa.append(value[21])
mantissa.append(value[22])
mantissa.append(value[23])
mantissa.append(value[24])
mantissa.append(value[25])
mantissa.append(value[26])
mantissa.append(value[27])
mantissa.append(value[28])
mantissa.append(value[29])
mantissa.append(value[30])
mantissa.append(value[31])
mantissa.append(value[32])
print (mantissa)
所以我想知道是否有办法将它们全部添加到列表中,而不是单独附加每个索引。我尝试了以下 extend
方法:
exponent.extend(value[1, 2, 3, 4, 5, 6, 7, 8])
也没有逗号
exponent.extend(value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8], )
然后我意识到 extend
只接受一个参数。
exponent.extend(value[1-8])
好像减去了一和八。
我试过了exponent = {}
我相信哪一套?然后尝试 exponent.update
后跟多个带逗号的索引。然后告诉我它只支持一个论点。
关于如何将 value
中的多个索引添加到列表的任何其他建议?
可以使用字符串切片编写相同的代码:
value = input("Please enter 32 bit floating value to convert.")
exponent, mentissa= value[1:9], value[9:]
虽然您的问题已通过巧妙的解决方案得到解答,但我想真正回答您的原始问题。您可以使用其中之一将列表添加到列表:
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b # c is now [1, 2, 3, 4, 5, 6]
a.extend(b) # a is now [1, 2, 3, 4, 5, 6]
请注意 list.extend
实际上会修改列表,而添加本身不会。但是,您可以执行 a += b
并获得与 a.extend(b)
.
因此您可以执行以下操作:
exponent.extend(value[1:9])
如果您使用 list.extend
,您实际上可以使用任何可迭代对象(如元组或集合),但是当您使用 a += b
或 c = a + b
时,它们通常需要是相同的类型。