如何在Python中反向迭代列表?


请参见:如何获得列表的反向副本(避免在.reverse后链接方法时使用单独的语句)?


当前回答

另一种方法使用列表理解和abs

array = [0, 10, 20, 40]

reversed_array = [array[abs(indx)] for indx in range(abs(len(array)-1),1)]
            
reversed_array
[40, 20, 10, 0]

其他回答

for x in array[::-1]:
    do stuff

一行代码中用户输入值的反向:

for i in input()[::-1]: print(i,end='')

要反转相同的列表,请使用:

array.reverse()

将反向列表赋值到其他列表使用:

newArray = array[::-1] 

问题不是如何反向返回一个列表,而是如何使用示例列表名数组反向返回一个列表。

反转名为“array”的列表使用array.reverse()。

通过使用array[:] = array[::-1]将列表定义为对其本身的切片修改,还可以使用上面描述的非常有用的slice方法来反转列表。

>>> l = [1, 2, 3, 4, 5]
>>> print(reduce(lambda acc, x: [x] + acc, l, []))
[5, 4, 3, 2, 1]