python建立二維陣列問題

2021-07-30 17:26:16 字數 833 閱讀 6614

一次偶然的機會,發現python中list非常有意思。

先看一段**

[py]

array = [0, 0, 0]

matrix = [array*3]

print matrix

## [[0,0,0,0,0,0,0,0,0]][/py]

這段**其實沒有新建乙個二維陣列

再看一段**

[py]

array = [0, 0, 0]

matrix = [array] * 3

print matrix

## [[0, 0, 0], [0, 0, 0], [0, 0, 0]][/py]

咋一看這段**應該建立乙個二維陣列了

測試一下

[py]

matrix[0][1] = 1

print matrix

## [[0, 1, 0], [0, 1, 0], [0, 1, 0]][/py]

照理matrix[0][1]修改的應該只是二維陣列中的乙個元素,但是測試結果表明,修改的是每個list的第二個元素。

有問題看文件,然後我找到了the python standard library

其中5.6. sequence types是這樣描述的:

那如何才能在python中建立乙個二維陣列呢?

例如建立乙個3*3的陣列

方法1 直接定義

[py]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二維陣列建立

建立方法 1.直接建立 2.列表生成 3.numpy建立 遇到的問題 a 3 print a 輸出為 1,2,3 1,2,3 1,2,3 原因是建立乙個列表,然後複製上個,相當於二維陣列中,引用的是同乙個一位陣列。意思就是 a b 3只是建立了3個指向b的應用,所以一旦b改變,a中的3個列表 也會改...

Python建立二維陣列

因一次筆試中忘記如何用python建立二維陣列,遂記錄下來.成功沒有捷徑,一定要腳踏實地.沒有使用numpy模組,若想使用numpy模組建立二維陣列請移步。一 初始化乙個元素從0 n m的二維陣列 row int input column int input dp i column j for j ...

Python二維陣列的建立

如果在python中想要建立乙個二維陣列,我們該如何寫呢?a 0 3 4 b 0 3 4 是a還是b呢?當然是b了!還是先輸出看一下 a 0,0,0,0,0,0,0,0,0,0,0,0 b 0,0,0 0,0,0 0,0,0 0,0,0 不出所料,我們應該按照b 0 3 4來建立二維陣列。but!當...