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

时间:2015-02-02 20:01:16

标签: python list iteration

现在我这样做:

for i in range(len(my_list)-1, -1, -1):
    # ...

但我想知道我们是否有更好的方式来表达更清晰的意思。

1 个答案:

答案 0 :(得分:7)

使用reversed() function

for elem in reversed(my_list):

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

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