Python矩阵的创建(不使用numpy)
此部分是對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)]
參考:https://www.cnblogs.com/woshare/p/5823303.html
總結
以上是生活随笔為你收集整理的Python矩阵的创建(不使用numpy)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: m4怎么压枪
- 下一篇: Word中带有超级链接的文字始终有下划线