1.a[i: j]
python的索引是包含起点,并且是以0为索引的,但不包含结束的索引,结束是j-1。
因此a[i: j]表示复制a[i]到a[j-1],也相当于a[i,j),生成新的list对象。
1.1 无缺省
虽然输出是a[1:3],上面说明可得实际是[1:2],相当于[1,3)。
正数
1.2 当 i 缺省
当i缺省时,默认为0,即 a[:3]相当于 a[0:3],由于不包括右边,因此实际是[0:2]
1.3 当j缺省时,默认为len(list)
负数
-1表示最后一个数,此时-1是结尾的索引。
1.4 当 i 缺省
[: -x],取除了后x个数以外的数。
x[:-2]也就是取除了后两行以外的数。
1.5 当 j 缺省
x[i: ]取后x个数
x[-2: ]中,-2是倒数第二行的索引,因此取后两行
1.6 当 i j 都缺省
当i,j都缺省时,完整复制一份a
2.[i: j: s]
i, j与上面的一样,但s表示步进。
2.1 s<0
当s<0时,倒着取,要取的范围就是i到j的范围
2.1.1 i缺省时,默认为-1
![在这里插入图片描述](https://img-blog.csdnimg.cn/8ccb79fb1a694c2bb235b08824017377.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAdGVuc29yLnNoYXBl,size_20,color_FFFFFF,t_70,g_se,x_16
当i缺省时,默认为-1,因此[: -3: -1],实际是[-1,-3)
2.1.2 j缺省时,默认为-len(a)-1
2.1.3 i, j都缺省时,按s步长倒序输出
s=-1,全部逆序输出
s=-2
参考:
https://blog.csdn.net/mingyuli/article/details/81604795
https://blog.csdn.net/weixin_45938096/article/details/105864378