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

时间:2016-08-12 16:10:27

标签: python list

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

my_list = [0,1,2,3,4,5] # range(5)

我想打印一下:

[2,1,0]

我的python脚本是:

print(my_list[2:-1:-1])

会打印一个空列表!

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

我不会使用任何技巧:

num_of_elems_i_want = 3
print(my_list[::-1][len(my_list) - num_of_elems_i_want:])

或第三方模块..

2 个答案:

答案 0 :(得分:5)

您可以对list进行切片,如下所示:

print(my_list[2::-1])      # L[start:end:step]

编辑:

您获得的结果不是 Bug

请记住,list元素的遍历是从左到右进行的,并且在end=-4 [ viz 元素之前没有元素:5来自start=2的→0→1→2]。因此,返回 empty list

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

答案 1 :(得分:1)

您也可以将列表永久转换为其他用途:

my_list.reverse()
print(my_list[-4:-1])