On Thu, Oct 28, 2021 at 05:25:52PM +1100, Chris Angelico wrote:
> But the "in" operator isn't built on iteration, so that would be
> in-consistent.
"In-"consistent, heh :-)
>>> a = iter("abcde")
>>> a.__contains__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str_iterator' object has no attribute '__contains__'
>>> 'b' in a
True
>>> list(a)
['c', 'd', 'e']
https://docs.python.org/3/reference/expressions.html#membership-test-operations
The "in" operator is built on iteration, but can be overridden by the
`__contains__` method.
> What you're asking for can best be spelled with any/all and iteration,
> not a new operator.
I completely agree.
--
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/A3NAY57CAIBOCHEFFLASF4N572LTOZLV/
Code of Conduct: http://python.org/psf/codeofconduct/