如何优雅地循环遍历多个列表

时间:2015-09-09 13:10:30

标签: python loops

说,我有两个列表ab

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

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

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

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

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

那么我如何在Python中以优雅的方式做到这一点?

2 个答案:

答案 0 :(得分:8)

您可以使用itertools中的chain

from itertools import chain

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

for i in chain(a, b):
    print(i)

这不会创建新列表(如a + b那样),因此如果列表很大,则更有效(内存)。

这也适用于生成器和其他迭代。

答案 1 :(得分:1)

for i in a + b:
    print(i)

注意:我自己回答了这个问题。想知道这个问题,找到答案但不是通过SO,并认为应该添加。