Pab*_*blo 1 python combinations list
我有两个清单:
list1 = ['a','b','c']
list2 = ['1','2','3','4','5']
Run Code Online (Sandbox Code Playgroud)
我想列出清单:
list3 = [('1','a'),('2','b'),('3','c'),('4','a'),('5','b')]
Run Code Online (Sandbox Code Playgroud)
换句话说,在它们之间进行循环组合.所以,我的问题是:哪种方式更有效?
Jar*_*red 10
>>> from itertools import cycle
>>> list1 = ['a','b','c']
>>> list2 = ['1','2','3','4','5']
>>> zip(list2, cycle(list1))
[('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'a'), ('5', 'b')]
Run Code Online (Sandbox Code Playgroud)
正如一些人在评论中提到的那样,如果你想循环两个列表并采用前n个元素,你可以用它来做,
>>> from itertools import islice, izip
>>> list(islice(izip(cycle(list2), cycle(list1)), 5))
[('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'a'), ('5', 'b')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |