【发布时间】:2015-08-11 13:34:16
【问题描述】:
我需要向后遍历一个列表。我阅读了有关 xrange() 和 reversed() 的信息。哪个更贵?
【问题讨论】:
-
xrange和reversed做完全不同的事情? -
您是在问是否应该使用容易出错的
xrange(n, -1, -1)还是同样快的reversed(xrange(n+1))?根据%timeit,两者的速度差不多。 -
我指向
__reversed__的文档“如果未提供__reversed__()方法,则内置的reversed()将回退到使用序列协议(__len__()和@ 987654331@)。支持序列协议的对象仅应提供__reversed__(),前提是它们可以提供比reversed()提供的实现更有效的实现。" -
和
xrange提供了__reversed__方法,这就是他们得分相等的原因
标签: python list traversal xrange