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.cyclezip遵循方式

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)


以上是Python列表迭代耗尽的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>