周末用python要写个算法用到来二维数组, 一时间还不知道python怎么构造多维数组出来。看到一段不错的代码, 记录一下。
Python使用list嵌套实现多维数组, PHP可以使用array嵌套实现多维数组。
如果经常使用数组, 可以使用python的numpy包。
下面是个简单的例子:
1 import sys 2 3 def create1D(length, value=None): 4 """ 5 Create and return a 1D array containing length elements, 6 each initialized to value. 7 """ 8 return [value] * length 9 10 def create2D(rowCount, colCount, value=None): 11 """ 12 Create and return a 2D array having rowCount rows and 13 colCount columns, with each element initialized to value. 14 """ 15 a = [None] * rowCount 16 for row in range(rowCount): 17 a[row] = [value] * colCount 18 return a 19 20 if __name__ == '__main__': 21 arr2D = create2D(3, 4, 0) 22 arr2D[1][3] = 5 23 for i in range(3): 24 for j in range(4): 25 sys.stdout.write(str(arr2D[i][j]) + " ") 26 sys.stdout.write(" ")
执行结果:
0 0 0 0 0 0 0 5 0 0 0 0