<分区>
在我的 python 代码中,我有两个可迭代列表。
num = [1, 2, 3 ,4 ,5 ,6 ,]
alpa = ['a', 'b', 'c', 'd']
for (a, b) in itertools.izip_longest(num, alpa):
print a, b
输出:
1 a
2 b
3 c
4 d
5 None
6 None
我的预期输出:
1 a
2 b
3 c
4 d
5 a
6 b
我如何实现它?
<分区>
在我的 python 代码中,我有两个可迭代列表。
num = [1, 2, 3 ,4 ,5 ,6 ,]
alpa = ['a', 'b', 'c', 'd']
for (a, b) in itertools.izip_longest(num, alpa):
print a, b
输出:
1 a
2 b
3 c
4 d
5 None
6 None
我的预期输出:
1 a
2 b
3 c
4 d
5 a
6 b
我如何实现它?
最佳答案
您可以使用 itertools.cycle
。这是一些 Python 3 代码。请注意,使用的是 zip
而不是 izip_longest
,因为 cycle
创建了一个无限迭代器,您希望在一个列表完成时停止。
import itertools
num = [1, 2, 3, 4, 5, 6]
alpa = ['a', 'b', 'c', 'd']
for (a, b) in zip(num, itertools.cycle(alpa)):
print(a, b)
关于python - 如何遍历两个列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53891860/