用于循环迭代的高级Python 3列表

时间:2013-08-06 18:14:06

标签: python for-loop python-3.x

请注意,这是一个简化的示例是否可以执行类似

的操作
l=[[1,2,3],["a","b","c"],["x","y","z"]

然后有一个for循环,它遍历每个列表中的所有第一项,然后是所有第二项,然后是所有第3项。

1 个答案:

答案 0 :(得分:2)

您可以使用zip(...)功能。

>>> for elem in zip(*l):
        for a in elem:
            print(a)


1
a
x
2
b
y
3
c
z

,您可以将zip_longest(...)izip_longest用于Py2x)用于不均匀长度的列表。

>>> from itertools import zip_longest
>>> l=[[1,2,3],["a","b","c"],["x","y"]]
>>> for elem in zip_longest(*l, fillvalue='Empty'):
        print(elem)


(1, 'a', 'x')
(2, 'b', 'y')
(3, 'c', 'Empty')