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