【问题标题】:How do I add items to a list inside a 'for' loop?如何将项目添加到“for”循环内的列表中?
【发布时间】:2020-03-12 08:01:07
【问题描述】:

我有以下代码不起作用(list_of_d 之前定义为空列表)

for item in [3,5]:
    list_of_d.append(i for i in range(item, 15, item))

这似乎只返回最后一次迭代。 我想要的结果是

[3,6,9,12,5,10]

谢谢

【问题讨论】:

  • “这似乎只返回最后一次迭代”。那不可能是真的。您可能会得到一个生成器列表。
  • 是的,我得到 [ at 0x038CBE98>, at 0x0075F6F0>] 不知道这是什么意思

标签: python for-loop append


【解决方案1】:

“这似乎只返回最后一次迭代”。那不可能是真的。您可能会得到一个生成器列表。

相反,您必须在列表上进行列表理解和extend

list_of_d = []

for item in [3,5]:
    list_of_d.extend([i for i in range(item, 15, item)])

print(list_of_d)

【讨论】:

  • 这确实有效,但生成器仍在列表中。之后我必须删除那些吗?它们是什么?
  • @ThanosDodd,这将输出您的预期输出。请照此复制上述代码并尝试。
  • 我从上面删除了括号,然后生成器去了。干杯
  • 哪个括号?
  • [i for i in range(item, 15, item)] 中的 [] 括号]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-25
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2023-01-07
  • 1970-01-01
相关资源
最近更新 更多