如何反转列表或反向遍历它?

1359 投票
37 回答
1941173 浏览
提问于 2025-04-16 05:32

我怎么在Python中反向遍历一个列表呢?


另见:我怎么能得到一个列表的反向副本(在使用.reverse方法后避免单独的语句)?

37 个回答

461

使用 list.reverse 可以直接在原来的列表上进行反转,也就是把列表里的元素顺序颠倒过来:

>>> xs = [0, 10, 20, 40]
>>> xs.reverse()
>>> xs
[40, 20, 10, 0]

使用切片可以创建一个 新的 列表,里面的元素顺序是反过来的:

>>> xs[::-1]
[40, 20, 10, 0]
1521
>>> xs = [0, 10, 20, 40]
>>> xs[::-1]
[40, 20, 10, 0]

扩展切片语法的解释可以在这里找到。还有,您可以查看文档

1671

要获取一个新的反向列表,可以使用reversed函数,然后把这些项目收集到一个list里:

>>> xs = [0, 10, 20, 40]
>>> list(reversed(xs))
[40, 20, 10, 0]

如果你想要从后往前遍历一个列表:

>>> xs = [0, 10, 20, 40]
>>> for x in reversed(xs):
...     print(x)
40
20
10
0

撰写回答