冒号的作用是按一定标号取向量的部分元素

1. 对于一维向量

给定列表a,那么a[st:ed]表示取标号从st到ed-1的所有元素,即[st,ed)

如果没有给定st或者ed就表示没有给的st默认为0,ed默认为len(a)

即a[st:]表示取从st开始的所有元素;

a[:ed]表示从0取到第ed-1个元素

2. 对于多维tensor

单独出现的冒号,表示取该维度的所有信息

eg 1:a.shape=[3,2]

那么:

a[:,:]就是取a的所有元素,a[:,0]就是取第一列的元素,a[:,1]就是取第二列的所有元素,a[0,:]就是取第一行的元素,以此类推。

eg 2:a.shape=[3,3,3]

那么:

a[:,:,:]=a[:,:]=a[:]就是取a的所有元素;

a[:,:,0]就是取第三维的标号为0的所有元素,如[0,0,0], [0,1,0]等等

a[:,0,:]就是取第二维的标号为0所有元素,如[0,0,0],[0,0,1]等等

以此类推。

更多推荐