引用于https://www.jianshu.com/p/15715d6f4dad
当我们需要从某个对象中抽取部分值时,切片操作正是专门用于完成这一操作的有力武器。
以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:
一、索引方式:
分为正索引和负索引
二、操作一般方式:
基本表达式:object[start_index:end_index:step]
step:
正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,
而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。
当step省略时,默认为1,
“切取方向非常重要!”
start_index:
表示起始索引(包含该索引本身);该参数省略时,表示从对象“端点”开始取值,
至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。
end_index:
表示终止索引(不包含该索引本身);该参数省略时,表示一直取到数据“端点”,
至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”。
例:
>>>a[0]
>>>0
>>>a[-4]
>>>6
>>>a[::-1]
>>> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>>a[:6]
>>> [0, 1, 2, 3, 4, 5]
>>>a[6:]
>>> [6, 7, 8, 9]
>>> a[3::-1]
[3, 2, 1, 0]
>>> a[:3:-1]
[9, 8, 7, 6, 5, 4]