numpy.ndarray的赋值操作

 

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.]]
原文地址:https://www.cnblogs.com/Sabre/p/8032132.html