numbers = [1,2,3,4,5,6,7,8,9,10]
print(numbers[5::-2])
print(numbers[10:5:-2])
print(numbers[:5:-2])
先不要用程序运行计算,自己在纸上写出答案:
答案依次是
[6, 4, 2]
[10, 8]
[10, 8]
注意:步长是负数都是从右往左提取元素
numbers[5::-2]推导:包含6,7,8,9,10的列表从右到左提取,以2为步长,所以是[6,4,2]
numbers[10:5:-2]推导:索引10不在numbers内,所以索引10的值没有,到索引9结束,[7,8,9,10]从右到左提取,以2为步长,所以是[10,8]
numbers[:5:-2]推导:[7,8,9,10]从右到左提取,以2为步长,所以是[10,8]
切片负步长我发现不少视频教程都是点了一下,python基础教程才有几个例子讲解,先记下这点,以后有遇到实例再补充