Python中的zip()如何使用静态值

4 投票
1 回答
1964 浏览
提问于 2025-04-18 00:33

我正在尝试创建一个包含元组的数组,元组的第一个值来自一个列表,后面是一些固定的值。

这应该很简单,但我不知道为什么我总是搞不定。

比如,我想得到下面这样的结果:

 [(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次)

撰写回答