【问题标题】:How to elegantly loop over multiple lists [duplicate]如何优雅地循环多个列表[重复]
【发布时间】:2015-12-05 11:28:06
【问题描述】:

说,我有两个列表ab

a = [10, 20]
b = [40, 50]

我想一次性遍历所有这些值 (10, 20, 40, 50)。

简单地做两个循环不是我想要的(重复是丑陋的)。

我也不想修改其中一个列表:

a.extend(b)
for i in a:
    print(i)

那么我如何在 Python 中优雅地做到这一点?

【问题讨论】:

标签: python loops


【解决方案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,觉得应该补充一下。

    【讨论】:

    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 2012-06-03
    • 2012-07-01
    • 1970-01-01
    相关资源
    最近更新 更多