>>> a=list(i for i in range(1,11))
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
>>> a[8:3:-1]
[9, 8, 7, 6, 5]
>>>
>>> a[10:0:-2]
[10, 8, 6, 4, 2]
>>> #上面的10可以超出索引范围使用,下面的使用10为什么引用是分片引用是空???
>>> a[0:10:-2]
[]
>>>
>>> a[::-2]
[10, 8, 6, 4, 2]
>>> # 下面怎么理解??
>>> a[5::-2]
[6, 4, 2]
>>> # 下面怎么理解??
>>> a[:5:-2]
[10, 8]
>>>
Sequence[start:end:step]
python
的序列切片中,第一个:
隔离了 起始索引 和 结束索引,第二个:
隔离了 结束索引 和 步长step
为正,则从左到右切片,如果start > end
,则为空step
为负,则从右到左切片,如果start < end
,则为空start
和end
填空,前者表示最开始,后者表示最后一个, 同时为空的时候,表示取所有。至于方向,取决于step
可以总结一句规律,step 为正表示从左到右切片,反之为右到左。然后根据
index
依次切片