冒号的作用是按一定标号取向量的部分元素
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]等等
以此类推。