【发布时间】:2019-07-07 23:57:48
【问题描述】:
>>> 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 中测试)。
为了澄清,我理解最后三个 sn-ps。我在问first sn-p 的行为,以及为什么它不同。
【问题讨论】:
-
这绝对是一个骗子,但我找不到合适的骗子候选人。
-
好吧……那你怎么知道是骗子?
-
@user2357112 - This 似乎很接近。
-
@user2357112 - 找到一个好的。
-
@TigerhawkT3:这个问题是骗人的,但这个问题的答案很糟糕。他们都没有解释任何事情。
标签: python python-2.7 python-3.x