建立方法:
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個列表
也會改變。
生成方法更改為:
b = [ for i in range
(3)]
(1)(2)
(3)print(b)
結果:
[[1], [2], [3]]
可以檢視列表的id就知道了:
a = *3
(1)(2)
(3)print(id(a[0]))
print(id(a[1]))
print(a)
b = [ for i in range
(3)]
(1)(2)
(3)print(id(b[0]))
print(id(b[1]))
print(b)
結果為:
4489350984
4489350984
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
4489370184
4489370056
[[1], [2], [3]]
建立二維陣列的方法:
直接建立:
test =[0, 0, 0], [0, 0, 0], [0, 0, 0]]
列表生成法:test = [[0] * n for _ in
range(m)]
numpy建立:import numpy as np
test = np.zeros((m, n), dtype=np.int)
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!當...
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 pri...