切片
- Python中的有序序列都支持切片。如:字符串,元组,列表。
- 切片返回对象的子序列。类型与对象一致。
- 切片生成子序列元素是源版的拷贝。切片是一种浅拷贝。
格式 list[start:end:step]
- 从 start 到 end-1 位置之间的元素;
- start切片的索引;
- end切片终点的索引,切片不包括终点的索引值
- step步长,默认为1,正数从左往右,负数从右往左
- start和end之间有和step方向一致元素 间隔,否则会切出空列表
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[3:8] # 第3到第8位置之间的元素
[4, 5, 6, 7, 8]
>>> a[3:8:2] # 第3到第8位置之间的元素,每隔一个元素获取
[4, 6, 8]
>>> a[:5] # 省略start表示从第0个元素开始
[1, 2, 3, 4, 5]
>>> a[3:] # 省略end表示到最后一个元素
[4, 5, 6, 7, 8, 9, 10]
>>> a[::] # 都省略相当于拷贝一个列表,这种拷贝属于浅拷贝
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a[::-1] # 可以视为翻转操作
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> a[1:10:-1] # start与end之间没有与步长方向一致的元素
[]