Python中将列表循环回到前面的最佳方法是什么?

Dam*_* Lu 1 python iteration list

现在我这样做:

for i in range(len(my_list)-1, -1, -1):
    # ...
Run Code Online (Sandbox Code Playgroud)

但我想知道我们是否有一个更清晰的意义更好的方式.

Mar*_*ers 7

使用reversed()功能:

for elem in reversed(my_list):
Run Code Online (Sandbox Code Playgroud)

对象可以通过提供__reversed__()特殊方法来支持有效的反向迭代; list对象实现此方法以有效地支持反向迭代.否则,必须实现正常的序列协议(object.__getitem__()object.__len__()).

请注意,这不会创建新的列表对象; 它会生成一个迭代器,一个在循环时跟踪列表中位置的对象.