首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从变量中扩展/追加具有多个索引的列表?

如何从变量中扩展/追加具有多个索引的列表?
EN

Stack Overflow用户
提问于 2016-10-26 13:26:56
回答 2查看 59关注 0票数 0

我正在尝试创建一个binary32浮点到十进制转换器,它由指数的8位和尾数的24位组成。我有exponent = []mantissa = []。如果用户输入010000111111101101000000000000000,我希望将value中的索引1至8添加到exponent中,将value中的索引9至32添加到mantissa中。我现在有下面的意大利面代码来完成这个任务:

代码语言:javascript
复制
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])似乎减去了1和8。

我试过exponent = {},我相信这是一套吗?然后尝试使用exponent.update,后面是带有逗号的多个索引。然后告诉我它只支持一个论点。

关于如何将多个索引从value添加到列表中,还有其他建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-26 13:30:02

可以使用字符串切片编写相同的代码如下:

代码语言:javascript
复制
value = input("Please enter 32 bit floating value to convert.")

exponent, mentissa= value[1:9], value[9:]
票数 3
EN

Stack Overflow用户

发布于 2016-10-26 14:16:05

虽然你的问题得到了一个巧妙的解决方案,但我想实际上回答你原来的问题。可以将列表添加到列表中,方法之一是:

代码语言:javascript
复制
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)相同的结果。

因此,您可以进行以下操作:

代码语言:javascript
复制
exponent.extend(value[1:9])

如果使用list.extend,实际上可以使用任何可迭代的(如tuple或set),但是当使用a += bc = a + b时,它们通常都需要相同的类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40263580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档