Python列表迭代耗尽
我如何同时迭代两个列表,一个列表大于第二个。所以第二个就完蛋了。我想再次开始较小的列表,直到较大的列表耗尽
_list = [ 19 , 74, 544, 39, 00, 34, 44, 593, 33, 2123, 22]
_list1 = [0, 1, 2, 3, 4]
我尝试过的事情:
我使用了 itertools.zip_longest 但我不知道在填充值中使用什么。
需要的输出:
我想要的输出:(19, 0), (74, 1) ----- (34, 5) (44, 0) (593, 1)直到更大的列表耗尽。
回答
一份清单比第二份大。所以第二个就完蛋了。我想再次开始较小的列表,直到较大的列表耗尽
你可以结合itertools.cycle和zip遵循方式
import itertools
li1 = [19, 74, 544, 39, 00, 34, 44, 593, 33, 2123, 22]
li2 = [0, 1, 2, 3, 4]
for i in zip(li1, itertools.cycle(li2)):
print(i)
输出
(19, 0)
(74, 1)
(544, 2)
(39, 3)
(0, 4)
(34, 0)
(44, 1)
(593, 2)
(33, 3)
(2123, 4)
(22, 0)