在python中定義二維陣列
一次偶然的機會,發現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的二維陣列操作
stackoverflow
在python中定義二維陣列
python中定義二維陣列
原文 今天在寫力扣5.最長回文子串,二維陣列這麼定義的 dp false size size然後後面發現,更改資料的時候會一列一起被修改 即原文所說的第一種情況 正確的方法是 dp false for in range size for in range size 原文第三種 原文第二種方法 c p...
delphi定義二維陣列
procedure tform1.button1click sender tobject vara array of array of string i,j integer begin setlength a,10 for i low a to high a do begin setlength a...
筆記 定義二維陣列
定義二維陣列char array x y 1.只定義個一維的就可以了 char array array new char x y 訪問的時候 array i y j 表示array i j 2.定義乙個二維陣列 char array1 array1 new char x for i 0 iarray...