跳到主要内容

Python 程序:并行迭代两个列表

要理解这个示例,你需要了解以下Python编程主题的知识:

示例1:使用zip (Python 3+)

list_1 = [1, 2, 3, 4]
list_2 = ['a', 'b', 'c']

for i, j in zip(list_1, list_2):
print(i, j)

输出

1 a
2 b
3 c

使用zip()方法,你可以像上面展示的那样并行遍历两个列表。

循环将运行直到较短的列表结束(除非传递了其他条件)。

示例2:使用itertools (Python 2+)

import itertools

list_1 = [1, 2, 3, 4]
list_2 = ['a', 'b', 'c']

# 循环直到短列表结束
for i,j in zip(list_1,list_2):
print(i,j)

print("\n")

# 循环直到较长列表结束
for i,j in itertools.zip_longest(list_1,list_2):
print(i,j)

输出

1 a
2 b
3 c

1 a
2 b
3 c
4 None

使用itertools模块的zip_longest()方法,你可以同时并行遍历两个列表。该方法让循环一直运行到较长的列表结束。