>>> 5 in [1, 2, 3, 4] == False
False
我知道这是一种奇怪的测试会员资格的方式,而且
>>> 5 not in [1, 2, 3, 4]
True
是“正确”的方式。令我困惑的是它的行为与两者都不同
>>> (5 in [1, 2, 3, 4]) == False
True
and
>>> 5 in ([1, 2, 3, 4] == False)
TypeError ...
我错过了一些明显的事情吗? (在 Python 2.7 和 Python 3.4 中测试)。
为了澄清一下,我理解最后三个片段。我想询问的是first片段,以及为什么它不同。