获取列表中的多个元素_切片操作

获取列表中的多个元素
需要使用切片操作:
语法格式:
列表名[start : stop : step] (新的列表对象)
切片的结果:源列表片段的拷贝(只是拷贝,不是引用!)
切片的范围:[start, stop)(不包括stop)
step默认为1(如果没有输入step的话,即[start:stop],只要不写其实都会被当成步长为1[start : stop : ]也是一样的效果的)
注意这边的分割是冒号不是逗号!
如果start不写,默认是0,如果不写stop,默认是元素个数,即下面的形式
[: x : y] [x : : y]
前面的情况都是步长为正数的情况,但是如果步长为负数的情况下,就会产生一个对偶的变换,也就是
step为正数的时候,切片的第一个元素默认是列表的第一个元素,切片的最后一个元素默认是列表的最后一个元素
step为负数的时候,切片的第一个元素默认是列表的最后一个元素,切片的最后一个元素默认是列表的第一个元素

这边的话可以通项理解也就是说对于切片操作中的情况有以下几种情况
[x:y:z]
z,也就是步长,控制的是该列表是正序还是逆序,也就是说step>0的时候,从左往右,step<0的时候从右往左
然后接下来根据这样的顺序来指定元素,这边不妨让step>0那么x必须小于y,否则返回的就是空列表,同理step<0的时候,必须让x大于y,否则返回的就是空列表
至于x,y为正数负数倒是没有很大影响,注意笔者前面讲的大于小于的关系都是采用索引为x的元素离第一个元素的距离来做比较的,总之,笔者强调的是x,y值得是索引,从左往右的关系应该将索引先具象到原列表中,再进行比较才好理解
所以下面的是正确的表述
lst = [1,2,3,4,5,6,7,8,9,0]
print(lst[-3:3:-1])
output:[8,7,6,5]
最后再次提醒start,stop和step之间是通过冒号分割,不是通过逗号分割

上一篇:【原创】linuxAS4主机启动报smartd错误


下一篇:【原创】关于环境变量修改出错解决办法