1. :冒号
有两种使用单冒号和双冒号。
单冒号是双冒号的一个特例。
start:end:step 是完整写法,表示取start到end(不包含),间隔step。
所以会有变体,比如
:2 取0,1
:-1 取至倒数第二个
-3: 取倒数第三个至最后
::2 间隔一个取
2. ... 省略号(英文)
表示省略维度,缺省则由程序自动判断
3. ,逗号
维度分隔符
4. None 无
表示增加维度,unsquenze也有同样用法。
有np.newaxis=None
>>> a = np.arange(3)
>>> a
array([0, 1, 2])
>>> a[None,:]
array([[0, 1, 2]])
>>> a[None,None,:]
array([[[0, 1, 2]]])
>>> a[:,None]
array([[0],
[1],
[2]])
>>> a[:,None,None]
array([[[0]],
[[1]],
[[2]]])
综上:
a[0,...,::2] 表示对a第一维取前一维,中间维度不变且都要,最后一维间隔取。