python二維陣列操作

2021-10-06 22:59:13 字數 1632 閱讀 3984

n =

3m =

3dp =[[

0]* n]

* mdp[0]

[1]=

1print dp

# output:

# [[0, 1, 0], [0, 1, 0], [0, 1, 0]]

上面這段**是想修改二維陣列第1行第2列的數,可是居然三列都改了……

看了woshare的部落格後,豁然開朗了

matrix =

[array]*3

……也就是說matrix =

[array]

*3操作中,只是建立3個指向array的引用,所以一旦array改變,matrix中3個list也會隨之改變。

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

例如建立乙個3

*3的陣列

方法1 直接定義

matrix =[[

0,0,

0],[

0,0,

0],[

0,0,

0]][

/py]

方法2 間接定義

matrix =[[

0for i in

range(3

)]for i in

range(3

)]

修改一下**,舒服了

n =

3m =

3dp =[[

0for i in

range

(n)]

for j in

range

(m)]

dp[0][

1]=1

print dp

# output:

# [[0, 1, 0], [0, 0, 0], [0, 0, 0]]

n =

3m =

3like =[[

1,2,

3],[

4,5,

6],[

0,0,

0]]res =[0

for i in

range

(n)]

for i in

range

(n):

for j in

range

(m):

res[i]

+= like[j]

[i]# 這裡的i是列號

print res

# [5, 7, 9]

n =

3m =

3like =[[

1,2,

3],[

4,5,

6],[

0,0,

0]]res =[0

for i in

range

(n)]

for i in

range

(n):

for j in

range

(m):

res[i]

+= like[i]

[j]# 這裡的i是行號

print res

# [6, 15, 0]

python的二維陣列操作

需要在程式中使用二維陣列,網上找到一種這樣的用法 1 2 3 4 5 6 建立乙個寬度為3,高度為4的陣列 0,0,0 0,0,0 0,0,0 0,0,0 mylist 0 3 4 但是當操作mylist 0 1 1時,發現整個第二列都被賦值,變成 0,1,0 0,1,0 0,1,0 0,1,0 為...

Python 二維陣列遍歷操作

一 遍歷陣列 操作value 1.使用二維列表遍歷二維陣列 python 建立list二維列表 lists for i in range 3 建立的是多行三列的二維列表 for i in range 3 for i in range 5 for i in range 7 print lists is...

Python的二維陣列操作

最近刷題碰到需要用二維陣列做的題目,所以就遇到了這樣的坑。n 3 m 3 dp 0 n m dp 0 1 1 print dp output 0,1,0 0,1,0 0,1,0 上面這段 是想修改二維陣列第1行第2列的數,可是居然三列都改了 看了woshare的部落格後,豁然開朗了 matrix a...