<分区>
>>> 5 in [1, 2, 3, 4] == False
False
我知道这是一种奇怪的测试成员资格的方式,而且
>>> 5 not in [1, 2, 3, 4]
True
是“正确”的方式。令我困惑的是它的行为与两者都不同
>>> (5 in [1, 2, 3, 4]) == False
True
和
>>> 5 in ([1, 2, 3, 4] == False)
TypeError ...
我是否遗漏了一些明显的东西? (在 Python 2.7 和 Python 3.4 中测试)。
澄清一下,我理解最后三个片段。我问的是 first 片段的行为,以及它为何不同。