Abh*_*yal 5 python zip cycle python-itertools
说我有以下三个列表:
aList = [1,2,3,4,5,6]
bList = ['a','b','c','d']
cList = [1,2]
Run Code Online (Sandbox Code Playgroud)
我想使用来遍历它们zip
。
通过如下方式使用循环zip
:
from itertools import cycle
for a,b,c in zip(aList, cycle(bList), cycle(cList)):
print a,b,c
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
1 a 1
2 b 2
3 c 1
4 d 2
5 a 1
6 b 2
Run Code Online (Sandbox Code Playgroud)
虽然我希望我的结果像:
1 a 1
2 b 1
3 c 1
4 d 1
5 a 2
6 b 2
Run Code Online (Sandbox Code Playgroud)
您可以itertools.repeat()
根据第二个列表重复第三个列表的项目:
>>> from itertools import repeat, chain
>>>
>>> zip(aList,cycle(bList), chain.from_iterable(zip(*repeat(cList, len(bList)))))
[(1, 'a', 1),
(2, 'b', 1),
(3, 'c', 1),
(4, 'd', 1),
(5, 'a', 2),
(6, 'b', 2)]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1130 次 |
最近记录: |