我试图在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)]
答案 0 :(得分:4)
使用itertools.cycle
无限重复您较小的列表
zip(a, itertools.cycle(b))