Python同时迭代两个列表

Python iterate over two lists simultaneously

本问题已经有最佳答案,请猛点这里访问。

在Python中,有没有一种方法可以同时遍历两个或多个列表?

类似的东西

1
2
3
4
a = [1,2,3]
b = [4,5,6]
for x,y in a,b:
    print x,y

输出

1
2
3
1 4
2 5
3 6

我知道我可以用像tuples这样的

1
2
3
l = [(1,4), (2,5), (3,6)]
for x,y in l:
    print x,y

您可以使用zip()函数对列表进行配对:

1
for x, y in zip(a, b):

演示:

1
2
3
4
5
6
7
8
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> for x, y in zip(a, b):
...     print x, y
...
1 4
2 5
3 6