切片通过索引访问元素,举例,一个list有6个元素,那么它的正向索引(从左到右数)是从0到5,负向索引(从右到左倒数)是从-1到-6。
切片的语法表达式为:[start_index : end_index : step],其中:
start_index表示起始索引
end_index表示结束索引
step表示步长,步长不能为0,且默认值为1
切片操作是指按照方向步长,截取从起始索引到结束索引,但不包含结束索引(也就是结束索引减1)的所有元素。
python3支持切片操作的数据类型有list、tuple、string、unicode、range
切片返回的结果类型与原对象类型一致
切片不会改变原对象,而是重新生成了一个新的对象
>>> C = ['A','B','C','D','E','F']
>>> C[0:4:1]
['A', 'B', 'C', 'D']
>>> C = ['A','B','C','D','E','F']
#注意,下面的-3只是表示一个位置,1和-1表示的是方向步长
>>> C[0:-3:1]
['A', 'B', 'C']
>>> C[0:-3:-1]
[]
当start_index到end_index的方向与步长step的方向不同向,会切出空的序列。
注意:
C[:3]的结果是[‘A’, ‘B’, ‘C’],即索引从第一位开始
C[3:]的结果是[‘D’,’E’,’F’],即索引到最后一位结束
step默认值是1