我想在python数组中存储多个值(我也对其他任何数据结构都开放)。
例如 :
array[1][2][3] = 1 # (this is what I am able to do now)
但是后来我也得到了值2,现在我不是想使用相同的索引将其存储在另一个数组中,而是希望做到这一点:
array[1][2][3] = 1,2
但是我不想像字符串一样连接现有结果,并拆分字符串以获取单个值。
有没有这样做的方法而不必向数组引入另一个维度?
编辑:我想要一种更整洁的方式来存储2个值在同一单元格中。
谢谢
如果您事先知道所有内容,则可以使用元组。在这里,我将创建数字对(n, n+1)
并将它们存储在列表中:
>>> l = [(n,n+1) for n in xrange(0,4)]
>>> l
[(0, 1), (1, 2), (2, 3), (3, 4)]
如果您决定要附加另一个值,则可以。假设您要追加3
到元组(1,2)
:
>>> l[1] = l[1] + (3,)
>>> l
[(0, 1), (1, 2, 3), (2, 3), (3, 4)]
元组是不可变的,因此它们比构造列表快,但是您不能更改实例化的元组-必须替换它。如果您确定您的数据不会更改,请使用元组。如果可以(经常)使用列表。
如果要从元组中获取值,则可以执行以下操作:
>>> tup = l[0]
>>> tup
(0, 1)
>>> x, y = tup
>>> x
0
>>> y
1
>>> t, u = l[2] # alternatively
>>> t
2
>>> u
3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句