Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。
格式:【start:end:step】
start:起始索引,从0开始,-1表示结束
end:结束索引
step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,-1代表列表的最后一个位置索引
实例:
1:a = [2,3,5,6,7,8,9,12,34,45]
2:#如果step是正数,start必须小于end值,否则返回空List
print(a[4:1])-----返回:[]
print(a[-4:-2]) ---返回:[9, 12]
3:#step默认是1,可以是大于1的整数,也可以是负数
print(a[2:5]) ---返回:[5, 6, 7] #默认步长为1
print(a[2:8:2]) ---返回:[5, 7, 9] #隔一个取一个值,步长为2
4:#如果step是负数,start值需大于end值
print(a[8:2:-1]) ---返回:[34, 12, 9, 8, 7, 6]
print(a[2:8:-1]) ---返回:[]
print(a[::-1]) -----返回:[45, 34, 12, 9, 8, 7, 6, 5, 3, 2] #颠倒列表数据
5:#end值可以大于列表的长度
print(a[2:20])-----返回:[5, 6, 7, 8, 9, 12, 34, 45] #截取到最后的数据