发布时间:2019-08-29 07:40:33编辑:auto阅读(2145)
此部分是对python List的扩展应用。
在python中定义一个二维数组,
先看如下例子:
a = [1, 2, 3]
print(a * 3)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
print([a * 3])
[[1, 2, 3, 1, 2, 3, 1, 2, 3]]
这并不是一个二维数组,此方法不可用。但可用来扩展列表的长度。
再看下面一个例子:
a = [1, 2, 3]
matrix = [a] * 3
print(matrix)
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
此方法,出现的结果好像是建立了一个二维数组。但经过如下测试,
matrix[0][1] = 5
print(matrix)
[[1, 5, 3], [1, 5,3], [1, 5, 3]]
发现,修改的是每个List的第二个元素。
经过查看官方文档:https://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange
发现matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。
并根据文档提示,可用入下办法创建一个矩阵。
例如创建一个3*3的数组
方法1 直接定义
matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]][/py]
方法2 间接定义
matrix = [[0 for i in range(3)] for i in range(3)]
上一篇: python 进程间通信
下一篇: python字典嵌套字典实例
47630
46035
36934
34505
29114
25764
24595
19737
19283
17778
5591°
6181°
5719°
5775°
6729°
5507°
5513°
6011°
5985°
7317°