[issue44758] Why " True != 3 in [3] " is True?
Steven D'Aprano
report at bugs.python.org
Wed Jul 28 05:10:48 EDT 2021
Steven D'Aprano <steve+python at pearwood.info> added the comment:
Hi Antel, thank you for your submission but this is not a bug. This is a bug tracker for reporting bugs, not a help desk to ask for help understanding code. There are many forums where you can ask for help, I suggest that you could try places like the Python-List mailing list or Reddit.
https://mail.python.org/mailman/listinfo/python-list
https://www.reddit.com/r/learnpython/
The three code snippets you show are all correct.
In the first case, you are comparing True != 3, which is True, and then testing whether True is in [3], which it is not.
In the second you compute (3 in [3]), which is True, then test True != True, which is False.
Lastly you do a *chained comparison* `True != 3 in [3]` which is equivalent to `(True != 3) and (3 in [3])` which is True.
----------
nosy: +steven.daprano
resolution: -> not a bug
stage: -> resolved
status: open -> closed
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue44758>
_______________________________________
More information about the Python-bugs-list
mailing list