Python中的zip()如何使用静态值
我正在尝试创建一个包含元组的数组,元组的第一个值来自一个列表,后面是一些固定的值。
这应该很简单,但我不知道为什么我总是搞不定。
比如,我想得到下面这样的结果:
[(1,100,200),
(2,100,200),
(3,100,200),
(4,100,200),
(5,100,200)]
>>> zip([1,2,3,4,5],100,200)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: zip argument #2 must support iteration
1 个回答
8
你可以使用 itertools.repeat
这个工具来重复你想要组合在一起的元素。
>>> import itertools
>>> zip([1, 2, 3, 4, 5], itertools.repeat(100), itertools.repeat(200))
[(1, 100, 200), (2, 100, 200), (3, 100, 200), (4, 100, 200), (5, 100, 200)]
你还可以指定需要重复这个元素的次数。(在这个例子中是5次)