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 -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/A3NAY57CAIBOCHEFFLASF4N572LTOZLV/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to