1.语法
语法格式:
列表名[start: stop: step]
start:
默认为0,开始元素下标,也可理解为-len(list),因为是左闭右开,开始是包含的
stop:
默认为-1,结束元素下标,也可理解为len(list)
step:
每次间隔几个元素,默认为1
2.step说明
当step为正数时,从左向右计算,当step为负数时,从右往左计算,,怎么理解呢
2.1 当step为正数时
索引信息如上(按照start和stop从左往右数)
step =1时:
a = [1,2,3,4,5,6]
a[0:5:1] = a[0:5]= a[-6,5]=a[-6,-1]=a[0,-1] = a[0] , a[1], a[2], a[3], a[4], a[5] = [1,2,3,4,5]
这种切片,只有正向才能取到所有值
a[0:6] = 下标0,1,2,3,4,5的元素
step=2时:
a[::2] = [1,3,5]
2.2 当step为负数时
上面索引信息不变,从右边往左数,左闭右开变成了左开右闭
a[5:0:-1] = a[-1:-6:-1] = a[5], a[4], a[3], a[2], a[1], 就是从元素a[5]开始,向左边取元素
start中的5和-1是右边的第一个元素,0和-6是左边的第一个元素
就是完全反着去,同意,取出来的结果也是反着的
要想取到足有元素,要写为
a[-1:-7:-1]
同样step不为1时类似