numpy.ndarray的賦值操作

王明輝發表於2017-12-13

 

mat=zeros((3,4)) #生成一個3行4列全部元素為0的矩陣

mat[1,:]=111 #從第1行第0列開始,一直到最後一列,賦值為1,效果與mat[1,0:3]相同,前置0可以省略,最後的列數可以省略

輸出:

[[ 0. 0. 0. 0.]

[ 111. 111. 111. 111.]

[ 0. 0. 0. 0.]]

mat[1,2:]=222 #從第1行第2列開始,到最後,賦值為2

輸出:

[[ 0. 0. 0. 0.]

[ 111. 111. 222. 222.]

[ 0. 0. 0. 0.]]

mat=zeros((3,4)) #初始化

mat[0,0:0]=333 #從第0行第0列開始,到第0列,此行不存在,所以無變化。此處的第1列是實數1。

print(mat)

輸出:

[[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

mat[0,0:1]=444 #從第0行第0列開始,到第1列,共1列

print(mat)

輸出:

[[ 444. 0. 0. 0.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

mat[0,0:2]=555 #從第0行第0列開始,到第2列,共2列

print(mat)

輸出:

[[ 555. 555. 0. 0.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

mat[0,0:3]=666 #從第0行第0列開始,到第3列,共3列

print(mat)

[[ 666. 666. 666. 0.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

mat[0,0:4]=777 #從第0行第0列開始,到第3列,共4列

print(mat)

[[ 777. 777. 777. 777.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

mat[0,0:500]=777 #從第0行第0列開始,到第3列,共500列,與上一個相比,列數超了,但也並沒什麼變化,也不報錯。

print(mat)

[[ 777. 777. 777. 777.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

 

相關文章