On Sat, Jan 09, 2021 at 11:22:35AM +1300, Greg Ewing wrote:
> Also it's hard to see how it could be made to work, because the
> argument to reversed() necessarily has to be a sequence, not an
> iterator.
No, it just needs a `__reversed__` dunder. It doesn't even need to be an
iterable or sequence at all!
>>> class X:
... def __reversed__(self):
... return iter("Bet you didn't see this coming.".split())
...
>>> list(reversed(X()))
['Bet', 'you', "didn't", 'see', 'this', 'coming.']
--
Steve
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/I5UEXK5A4A2CMERTKBK63KLHUITF7GHS/
Code of Conduct: http://python.org/psf/codeofconduct/