Python中的二维数组
在Python中,创建二维数组的最佳方法是什么?
我想存储的数据是这样的:
X , Y , Z
这样我就可以像 X[2],Y[2],Z[2]
或 X[n],Y[n],Z[n]
这样访问数据,其中 n
是一个变量。
我一开始不知道 n
会有多大,所以我想在最后添加值。
8 个回答
9
在Python中,通常会使用列表来实现这个目的。列表可以随意嵌套,这样就可以创建一个二维数组。并且不是每个子列表都需要大小相同,这样就解决了你的另一个问题。可以看看我链接的例子。
11
根据你在做什么,你可能并不真的需要一个二维数组。
大部分时间(大约80%),你只是在处理一些简单的“行状对象”列表,这些对象可能是合适的序列。
myArray = [ ('pi',3.14159,'r',2), ('e',2.71828,'theta',.5) ]
myArray[0][1] == 3.14159
myArray[1][1] == 2.71828
更常见的是,它们可能是某个类的实例,或者是字典、集合,甚至是你在之前的编程语言中没有见过的更有趣的东西。
myArray = [ {'pi':3.1415925,'r':2}, {'e':2.71828,'theta':.5} ]
大约20%的情况下,你会用到一个字典,它的键是成对的。
myArray = { (2009,'aug'):(some,tuple,of,values), (2009,'sep'):(some,other,tuple) }
实际上,你很少需要一个矩阵。
在Python中,有很多种集合类。很有可能你会找到比矩阵更有趣的东西。
22
>>> a = []
>>> for i in xrange(3):
... a.append([])
... for j in xrange(3):
... a[i].append(i+j)
...
>>> a
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
>>>
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。