Python双循环

See*_*See 2 python loops list

是否有可能为循环2列表与另一个大小最小的"重新循环"?

例:

list = [1,2,3,4,5,6,7,8,10]
list2 = [a,b]

 newlist = []
 for number, letter in zip(list, list2):
    newlist.append(item)
    newlist.append(item2)
Run Code Online (Sandbox Code Playgroud)

循环停在[1a,2b]因为list2中没有其他项目,list2是否可以重新开始直到list1为空?即:newlist = [1a,2b,3a,4b,5a,6b]等?

thkx!

ars*_*jii 6

>>> l1 = [1,2,3,4,5,6,7,8,10]
>>> l2 = ['a','b']
>>> 
>>> from itertools import cycle
>>> 
>>> for number, letter in zip(l1, cycle(l2)):
...     print number, letter
... 
1 a
2 b
3 a
4 b
5 a
6 b
7 a
8 b
10 a
Run Code Online (Sandbox Code Playgroud)

见itertools.cycle.

另外,您不应该将其list用作变量名,因为该名称已由内置函数使用list().