假设我有这样一个列表:

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

我想打印这个:
[2,1,0]

我的python脚本是:
print(my_list[2:-1:-1])

但它打印了一张空名单!
这是python中的一个bug吗(2和3!)?
我不会用像这样的伎俩:
num_of_elems_i_want = 3
print(my_list[::-1][len(my_list) - num_of_elems_i_want:])

或第三方模块。。

最佳答案

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

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

编辑:
你得到的结果不是一个错误。
记住list元素的遍历是从左到右进行的,直到end=-4中的start=2[即元素:5→0→1→2]才有元素。因此,结果返回一个空的list
出于同样的原因,您还可以执行print(my_list[2:-7:-1])

关于python - python在反向模式下打印列表的前三个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38922333/

10-16 06:07
查看更多