有没有一种好的方法可以连续迭代2个长度不同的列表?

时间:2020-06-03 06:33:37

标签: python

我有2个列表。

a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c']

我想以这种方式打印它们

(1, 'a')
(2, 'b')
(3, 'c')
(4, 'a')
(5, 'b')
(1, 'a')
(2, 'b')
# ... and so on ...

有一种干净的方法吗?

1 个答案:

答案 0 :(得分:6)

itertools.cycle包裹两个列表,然后将它们传递到zip以同时进行迭代,并构建两个元组,每个元组具有一个值:

import itertools

for tup in zip(itertools.cycle(a), itertools.cycle(b)):
    print(tup) # or whatever you want to do with the tuples

请注意,此循环将永远运行,因此您可能希望其中的其他代码最终break退出其中。

相关问题