压缩两个不同长度的列表

时间:2017-02-20 13:47:43

标签: python python-2.7

我试图在Python中压缩两个不同长度的列表,因此第二个中的项目在第一个中的元素上迭代地压缩

我尝试使用itertools.product没有太多运气。是否可以通过标准库中的某个模块实现此目的?

E.g

import itertools
a = ["a", "b", "c", "d", "e", "f"]
b = [1, 2, 3]
list(itertools.product(a, b)) 

结果:

 [('a', 1),
 ('a', 2),
 ('a', 3),
 ('b', 1),
 ('b', 2),
 ('b', 3),
 ('c', 1),
 ('c', 2),
 ('c', 3)
 [...],

期望的结果:

 [('a', 1),
 ('b', 2),
 ('c', 3),
 ('d', 1),
 ('e', 2),
 ('f', 3)]

1 个答案:

答案 0 :(得分:4)

使用itertools.cycle无限重复您较小的列表

zip(a, itertools.cycle(b))