Skip to main content
 首页 » 编程设计

python之如何创建一个元组序列

2025年05月04日15davidwang456

我想创建一系列不同长度的元组。例如,有时我可能想要一个包含 3 个元组的序列:

((0.0, 100.0), (0.0, 100.0), (0.0,100.0)) 

其他时候我可能想要一个包含 4 个元组的序列:

((0.0, 100.0), (0.0, 100.0), (0.0, 100.0), (0.0, 100.0)) 

我使用的是 Python 2.7。 最快的方法是什么?

请您参考如下方法:

只需使用带有range 的普通生成器:

>>> tuple((0., 100.) for _ in range(3)) 
((0.0, 100.0), (0.0, 100.0), (0.0, 100.0)) 
>>> tuple((0., 100.) for _ in range(4)) 
((0.0, 100.0), (0.0, 100.0), (0.0, 100.0), (0.0, 100.0)) 

您也可以使用乘法,但是如果您决定包含可变对象,这可能会产生意想不到的效果,因为它们是通过引用复制的:

>>> ((0., 100.),) * 3 
((0.0, 100.0), (0.0, 100.0), (0.0, 100.0)) 
>>> ((0., 100.),) * 4 
((0.0, 100.0), (0.0, 100.0), (0.0, 100.0), (0.0, 100.0)) 
>>> a = ((0., 100., []),) * 3 
>>> a 
((0.0, 100.0, []), (0.0, 100.0, []), (0.0, 100.0, [])) 
>>> a[0][-1].append(1) 
>>> a 
((0.0, 100.0, [1]), (0.0, 100.0, [1]), (0.0, 100.0, [1]))