我有2个列表
listone = ['a', 'b', 'c', 'd', 'e', 'f', 'j']
listtwo = ['1', '2', '3']
我想同步迭代两个列表,每当最短的列表结束(listtwo中)再次重新启动,直到listone完成,例如:
a 1
b 2
c 3
d 1
e 2
f 3
j 1
你可以使用itertools.cycle:
from itertools import cycle
for i, j in zip(listone, cycle(listtwo)):
print(i, j)
输出:
a 1
b 2
c 3
d 1
e 2
f 3
j 1
没有itertools.cycle()
或创建辅助列表:
listone = ['a', 'b', 'c', 'd', 'e', 'f', 'j']
listtwo = ['1', '2', '3']
N = len(listtwo)
for index, elem in enumerate(listone):
elem2 = listtwo[index % N]
print(elem, elem2)