假设我有这样一个列表:
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/