在 Python 中以相反的顺序遍历列表

2022-09-05 01:13:52

因此,我可以以 开始和结束。collection[len(collection)-1]collection[0]

我还希望能够访问循环索引。


答案 1

使用内置的 reversed() 函数:

>>> a = ["foo", "bar", "baz"]
>>> for i in reversed(a):
...     print(i)
... 
baz
bar
foo

要同时访问原始索引,请在列表中使用 enumerate(),然后再将其传递给 :reversed()

>>> for i, e in reversed(list(enumerate(a))):
...     print(i, e)
... 
2 baz
1 bar
0 foo

由于返回生成器和生成器无法反转,因此需要将其转换为第一个生成器。enumerate()list


答案 2

您可以执行以下操作:

for item in my_list[::-1]:
    print item

(或者你想在 for 循环中执行的任何操作。

切片在 for 循环中反转列表(但实际上不会“永久”修改列表)。[::-1]


推荐