理论说再多都不如直接上代码:先看下面的代码
Slice_list=[1,2,3,4,5,7,8,9,10]
print(Slice_list[0:3]) # 取下标为012的三个元素,[1, 2, 3]
print(Slice_list[:3]) # 切片第一个缺省默认从0开始取,[1, 2, 3]
print(Slice_list[0:]) # 最后一个数字缺省,则表示取全部元素 ,[1, 2, 3, 4, 5, 7, 8, 9, 10]
print(Slice_list[1:]) # [2, 3, 4, 5, 7, 8, 9, 10]
print(Slice_list[:-1]) # 从最后一个元素开始取,但是不取最后一个元素,[1, 2, 3, 4, 5, 7, 8, 9]
print(Slice_list[:-2]) # 从倒数第二个元素开始取,但是不包含倒数第二元素,[1, 2, 3, 4, 5, 7, 8]
print(Slice_list[3:-1]) # 取正数第四个元素与倒数第二个元素之间的list,[4, 5, 7, 8, 9]
print(Slice_list[-3:-1])
print(Slice_list[1:6:1])# [2, 3, 4, 5, 7]
print(Slice_list[1:6:2])# [2, 4, 7]
print(Slice_list[::-1]) # 倒序输出,[10, 9, 8, 7, 5, 4, 3, 2, 1]
print(Slice_list[::1]) # 正序输出,[1, 2, 3, 4, 5, 7, 8, 9, 10]
print(Slice_list[-8:-2:1])# [2, 3, 4, 5, 7, 8]
print(Slice_list[::-2]) # 倒序输出,每两个元素取一个, [10, 8, 5, 3, 1]
一个list或者tuple的下标分为正序下标或者倒序下标,就是正着索引或者倒着索引;
value | 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 |
---|
正序下标(index) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
倒序下标(index) | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
- list[:],这个切片的意识是获取全部的元素;
- list[1:],从元素2开始切,但是不要2,就想“切菜”一样,只要后面的元素;
- list[-1:],其实这个的作用和list[-1]的作用是一样的,都是取最后一个元素;
- list[:-1],这个和第2个是相反的,这个是从后边(元素10)开始切,只要(1,2,3,4,5,7,8,9);
- list[0:8:2],这个切片加入了一个“:”,那么最后一个数字2就是步长的意思,就是切0~8之间的元素,隔2个取一个,那么这个步长如果是正数就是从左向右取,如果是负数就是从后向前取;
- list[::-1],倒序输出
- list[::-2],倒序输出,隔隔两个取一个