kuz*_*roo 4 python reverse iterator tuples immutability
在讨论这个答案时,我们意识到元组没有__reversed__
方法.我的猜测是创建迭代器需要改变元组.然而元组玩得很好reversed
.为什么不能将这种方法用于reversed
工作__reversed__
呢?
>>> foo = range(3)
>>> foo
[0, 1, 2]
>>> list(foo.__reversed__())
[2, 1, 0]
>>> foo
[0, 1, 2]
>>> bar = (0, 1, 2)
>>> list(bar.__reversed__())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute '__reversed__'
>>> reversed(bar)
<reversed object at 0x10603b310>
>>> tuple(reversed(bar))
(2, 1, 0)
Run Code Online (Sandbox Code Playgroud)