Odd truth result with in and ==

Python python at bladeshadow.org
Wed Nov 21 14:18:22 EST 2018


$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 in [1,2,3] == True
False
>>> 1 in ([1,2,3] == True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument of type 'bool' is not iterable
>>> (1 in [1,2,3]) == True
True

How is the first not equivalent to either one of the second or third?
My expectation is it should produce the same result as the second.  It
*seems* like Python is ignoring the '1 in' part and just giving the
result for '[1,2,3] == True'...  Is this just a bug?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20181121/da812d1c/attachment.sig>


More information about the Python-list mailing list