基本上,列表实现该
__reversed__方法并返回一个专用对象,而后
tuple退到
reversed任何序列的默认实现:
>>> list.__reversed__<method '__reversed__' of 'list' objects>>>> tuple.__reversed__AttributeError: type object 'tuple' has no attribute '__reversed__'
现在,为什么
reversed必须在列表对象本身的源代码中找到列表不默认为序列对象的原因-可能它可以通过直接访问一些内部
list属性来进行一些优化。
实际上看一下C代码,几乎没有什么区别,当然也没有什么值得关注的-
- 默认反转
- 清单已反转
我敢说特殊列表
__reversed__实现从Python2天凡吃剩的
reversed
实际上任何其他Python程序复制到
list-所以就没有意义其他序列具有特殊的情况下,它(和当他们执行一般
enumreverse它对于元组来说足够好了)。
我非常确定,如果只是简单地注释掉
__reversed__on上的位置
listobject.c,Python及其列表将像什么都没有发生一样工作,默认情况下是默认情况
reversed。



