在python中遍历两个不同大小的列表

时间:2018-07-17 07:09:07

标签: python python-3.x itertools

Value = [1,2,3,4,5,6]
content = ['a','b','c','d']

for a,b in itertools.zip_longest(Value , content):
   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

基本上,一旦一个列表用完,它应该从开始重新取值。如果有人可以帮助的话,那就意味着很多

1 个答案:

答案 0 :(得分:3)

您可以将itertools.cyclezip一起使用:

import itertools
Value = [1,2,3,4,5,6]
content = ['a','b','c','d']

for a,b in zip(Value , itertools.cycle(content)):
   print(a,b)

这将输出:

1 a
2 b
3 c
4 d
5 a
6 b