我有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 ...
有一种干净的方法吗?
答案 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
退出其中。