如何以相反的顺序循环列表并跳过最后一个元素

jac*_*118 4 python indexing reverse list python-3.x

我知道我可能必须for i in x[::-1]:以相反的顺序循环遍历列表。但是如果我想跳过最后一个元素然后从高到低遍历怎么办?for i in x[-1:0:-1]不起作用

x = [1,2,3,4,5]
=> 4,3,2,1         #  desired

for i in x[-1:-1]:
    print(i)

# it does not work
Run Code Online (Sandbox Code Playgroud)

jpp*_*jpp 6

您需要从-2最后-1一个元素开始:

for i in x[-2::-1]:
    print(i)
Run Code Online (Sandbox Code Playgroud)

或者,您可以reversed与列表切片一起使用:

for i in reversed(x[:-1]):
    print(i)
Run Code Online (Sandbox Code Playgroud)