python以反向模式打印3个列表的第一个元素

Ali*_*aei 2 python list

假设我有一个这样的列表:

my_list = [0,1,2,3,4,5] # range(5)
Run Code Online (Sandbox Code Playgroud)

我想打印这个:

[2,1,0]
Run Code Online (Sandbox Code Playgroud)

我的python脚本是:

print(my_list[2:-1:-1])
Run Code Online (Sandbox Code Playgroud)

但它会打印一个空列表!

这是python中的一个错误(2和3!)?

我不会使用任何技巧,如:

num_of_elems_i_want = 3
print(my_list[::-1][len(my_list) - num_of_elems_i_want:])
Run Code Online (Sandbox Code Playgroud)

或第三方模块..

Nic*_*eli 5

你可以切片list如图所示:

print(my_list[2::-1])      # L[start:end:step]
Run Code Online (Sandbox Code Playgroud)

编辑:

您获得的结果不是Bug.

请记住,list元素的遍历从左到右进行,直到end=-4[ viz 元素:5→0→1→2] 才有元素start=2.因此,返回一个 list的结果.

出于同样的原因,你也可以这样做 print(my_list[2:-7:-1])