【问题标题】:List append in a "for" loop列表追加在“for”循环中
【发布时间】:2018-11-16 17:11:25
【问题描述】:

我正在尝试使用for 循环获取元素列表,以索引我以前的列表。代码如下:

for index in range(1,810):
    list.extend(t[index])
    list.extend(t[index+1])
    list.extend(t[index])

我已经有一个名为“列表”的list,而t 是另一个list。 更具体地说,我想像这样列出我的清单。

t1,t2,t1,t2,t3,t2,t3,t4 etc.

我收到此错误TypeError: 'float' object is not iterable

【问题讨论】:

  • 请注意:不要隐藏像 list 这样的内置名称。
  • extendappend.

标签: python list loops append iteration


【解决方案1】:

您应该使用list.append,因为list.extend 适用于可迭代对象;即你可以做lst=[1,2,3];lst.extend([4,5])之类的事情,这会给你[1,2,3,4,5]

如果您想了解更多信息,请参阅this link

【讨论】:

  • 好吧,起初我只有 list[0] = t0。你的想法行不通
【解决方案2】:

建议您使用附加的其他答案可以解决您的问题,但附加效率非常低。您应该使用列表理解。另外,“list”是一个关键字,所以你应该使用另一个名字。

 my_list = [item for index in range(1,810) for item in [t[index],t[index+1],t[index]] ]

【讨论】:

  • list[0]=t[0] list = [[t[index],t[index+1],t[index]] 范围内的索引项 (1,810) ]我用了这个,我希望列表有 t0、t1、t2、t1、t2、t3 等。但我得到这个错误“类型”对象不支持项目分配
  • @r4diohead 你在看到我的编辑之前写下你的评论吗? “list”是一个关键字,所以你需要另一个名字。
猜你喜欢
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
  • 2018-10-04
  • 1970-01-01
  • 2020-07-02
  • 1970-01-01
相关资源
最近更新 更多