Python二維陣列建立

2021-08-21 09:28:23 字數 1126 閱讀 3379

建立方法:

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...