切片操作的三个参数 [start: stop: step] ,其中start是切片的起始位置,stop是切片的结束位置(不包括),step可以不提供,默认值是1,并且step可为负数。
1、在Python中切片指的是截取指定范围的数据,对于字符串,元组,和列表都是可以进行切片。字符串也是属于序列,在Python中如果是截取一个字符串,可以使用索引的的方法,如果截取一段字符串可以使用切片的方法。
2、要在Python中对序列执行切片,需要提供两个由冒号分隔的偏移量,尽管在某些情况下可以只定义其中一个,甚至不定义。默认情况下步长是1,从而生成一个连续序列。然而,我们能够为步长赋值去获取非连续序列的元素。
以下为各个示例
[start: stop]
1、形式为[下标1:下标2],前闭后开
若下标超出范围则会截断,即只在有效区域取数。
若下标1>下标2,则有效区域为空。
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[3:7]
[3, 4, 5, 6]
>>> a[-100:7]
[0, 1, 2, 3, 4, 5, 6]
>>> a[3:100]
[3, 4, 5, 6, 7, 8, 9]
>>> a[2:1]
[]
[start: stop: step]
基础规则同上。
其中,步长step>0时正序,step<0时为逆序,此时下标也要逆序,依然左开右闭。
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[3:7:2]
[3, 5]
>>> a[7:3:-2]
[7, 5]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[3:7:-1]
[]