如何优雅地循环多个列表[重复]
Posted
技术标签:
【中文标题】如何优雅地循环多个列表[重复]【英文标题】:How to elegantly loop over multiple lists [duplicate] 【发布时间】:2015-12-05 11:28:06 【问题描述】:说,我有两个列表a
和b
:
a = [10, 20]
b = [40, 50]
我想一次性遍历所有这些值 (10, 20, 40, 50
)。
简单地做两个循环不是我想要的(重复是丑陋的)。
我也不想修改其中一个列表:
a.extend(b)
for i in a:
print(i)
那么我如何在 Python 中优雅地做到这一点?
【问题讨论】:
这是重复的,不幸的是我一开始没有找到这个问题。必须是措辞。concat list python
第一个谷歌链接
@Haketo 如果您有幸将“连接”视为动词。对于非英语为母语的人来说并非易事。
***.com/questions/1720421/join-two-lists-in-python
【参考方案1】:
您可以使用来自 itertools 的chain:
from itertools import chain
a = [10, 20]
b = [40, 50]
for i in chain(a, b):
print(i)
这不会创建一个新列表(就像a + b
所做的那样),因此如果您的列表很大,它会更加(内存)效率。
这也适用于生成器和其他可迭代对象。
【讨论】:
【参考方案2】:for i in a + b:
print(i)
注意:我自己回答了这个问题。对这个问题感到疑惑,找到了答案但不是通过SO,觉得应该补充一下。
【讨论】:
***.com/questions/1720421/join-two-lists-in-python @heinst 我猜我不考虑使用术语“加入”或“连接”。 搜索添加或附加也会导致该链接以上是关于如何优雅地循环多个列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章