[slice]扩展切片操作¶
参考:
切片操作是Python
实现中最常用的功能之一,重新小结几种不同的切片操作
基本切片¶
基本切片语法如下:
list[start:stop]
常用以下几种实现方式:
- 缺省
start
- 语法:
list[:stop]
- 作用:取前
stop
个元素
- 语法:
- 缺省
stop
- 语法:
list[start:]
- 作用:取
start
开始的所有元素
- 语法:
- 同时缺省
start
和stop
- 语法:
list[:]
- 作用:取整个列表的所有元素
- 语法:
通常情况下,下标start
小于stop
,如果出现start
大于等于stop
,那么返回空列表
扩展切片¶
扩展切片语法如下:
a[start:stop:step]
增加了step
参数,表示每隔多少个位置取一个元素,如果为空,默认为1
,即取[start, stop)
区间内所有的元素
另一种扩展切片:...
¶
阅读源码过程中还发现了一个切片符号...
,其实现如下:
>>> import numpy as np
>>> a = np.random.randn(2, 3, 4)
>>> a
array([[[-1.08746212, -1.98456057, 0.31604132, 0.77781412],
[ 0.09395506, 0.89095723, 0.33838468, 1.7124017 ],
[ 0.91403118, -0.27132943, 2.10017449, -0.05663262]],
[[ 0.38814181, 0.30023491, -0.0099694 , 0.53520844],
[-2.01299842, -0.17652996, 0.261344 , 0.19216268],
[ 0.15511314, -0.48549088, -0.30289901, 1.46871216]]])
>>> a[:, :, 3]
array([[ 0.77781412, 1.7124017 , -0.05663262],
[ 0.53520844, 0.19216268, 1.46871216]])
>>> a[..., 3]
array([[ 0.77781412, 1.7124017 , -0.05663262],
[ 0.53520844, 0.19216268, 1.46871216]])