Python同时迭代两个列表

use*_*551 21 python iteration foreach list python-2.7

有没有办法在python中同时覆盖两个或多个列表?

就像是

a = [1,2,3]
b = [4,5,6]
for x,y in a,b:
    print x,y
Run Code Online (Sandbox Code Playgroud)

输出

1 4
2 5
3 6
Run Code Online (Sandbox Code Playgroud)

我知道我可以用元组这样做

l = [(1,4), (2,5), (3,6)]
for x,y in l:
    print x,y
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 55

您可以使用该zip()功能配对列表:

for x, y in zip(a, b):
Run Code Online (Sandbox Code Playgroud)

演示:

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> for x, y in zip(a, b):
...     print x, y
... 
1 4
2 5
3 6
Run Code Online (Sandbox Code Playgroud)

  • @ilamengl:如果您打算将答案从 Python 2 更改为 Python 3 语法或文档参考,那么也可以针对该问题执行此操作。由于这个问题被明确标记为“python-2.7”标签,我将恢复您的编辑,因为它*不适用于此处*。 (2认同)