9.6 切片操作
提供切片的操作用来分割可迭代的对象(容器)
一个完整切片包含有两个" : " ,用来分割切片三个参数,start_index,end_index,step
object[start_index:end_index:step]
step:正负值都可以,正:从左往右 负:从右往左
start_index:表示是开始索引
end_index:表示的是结束的索引‘
取值范围:前闭后开
对象[start_index:]------从start开始,切割到终点,方向是从左往右
对象[start_index:end_index]:
对象[start_index:end_index:step]
ls = [0,1,2,3,4,5,6,7,8,9]
1.切割单个值
2.切割完整的对象
3.start_index和end_index全部为“+"
ls[1:6:-1] -----------------返回的是空的列表
4.start_index和end_index全部为“-"
5.start_index和end_index正负混合索引
6.连续索引
4,3,2 2,3,4 错
ls[:8] ----------- 0,1,2,3,4,5,6,7
[2:5] --------------2,3,4
[-1:] --------------4
- 参数也可以是表达式
- 其他对象切割
range()生成1~99的整数,然后取3的倍数,只取最后十个,利用切片
思考:
ls= [1,2,3,4,5]
ls[3]----- 4
ls[2:4]------3 ,4
ls[:5] -------1,2,3,4,5
ls[3:] -------4,5
ls[::-1] ------5,4,3,2,1
ls[::2]------ 1,3,5
思考:在python中怎样将列表反向输出?
1.[ : :-1]
2. list.reverse()
3. 循环
pop()
练习:
ls = [1,2,3,4,5,6,7,8,9]
ls[-4]---------6
ls[-1] ---------9
ls[6] ---------7
ls[9] --------报错
ls[1:7:-1] ---------[]
ls[-1:-3:-1]---------[9, 8]
ls[-1:3] ---------[]
ls[3:-1]---------[4, 5, 6, 7, 8]
ls[-6:] ---------[4, 5, 6, 7, 8, 9]
ls[-6::-1]---------[4, 3, 2, 1]
ls[-1:7:-1]---------[9]
ls[6//2:2*3:9%4]---------[4, 5, 6]
ls[:]---------[1, 2, 3, 4, 5, 6, 7, 8, 9]
ls[1:6][2:3][-1:]---------[4]
ls[2:7][-2:-3][1:3]---------[]
ls[:][-1:-5:-1][2:3]---------[7]