Python中高级特性:切片(Slice)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GW_wg/article/details/87912263

理论说再多都不如直接上代码:先看下面的代码

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
  1. list[:],这个切片的意识是获取全部的元素;
  2. list[1:],从元素2开始切,但是不要2,就想“切菜”一样,只要后面的元素;
  3. list[-1:],其实这个的作用和list[-1]的作用是一样的,都是取最后一个元素;
  4. list[:-1],这个和第2个是相反的,这个是从后边(元素10)开始切,只要(1,2,3,4,5,7,8,9);
  5. list[0:8:2],这个切片加入了一个“:”,那么最后一个数字2就是步长的意思,就是切0~8之间的元素,隔2个取一个,那么这个步长如果是正数就是从左向右取,如果是负数就是从后向前取;
  6. list[::-1],倒序输出
  7. list[::-2],倒序输出,隔隔两个取一个

猜你喜欢

转载自blog.csdn.net/GW_wg/article/details/87912263