如果我这样做:
>>> False in [False, True]
True
返回 True
。仅仅因为 False
在列表中。
但如果我这样做:
>>> not(True) in [False, True]
False
返回 False
。而 not(True)
等于 False
:
>>> not(True)
False
为什么?
最佳答案
运算符优先级 2.x , 3.x 。 not
的优先级低于in
。所以相当于:
>>> not ((True) in [False, True])
False
这就是你想要的:
>>> (not True) in [False, True]
True
正如@Ben 指出的那样:建议永远不要写not(True)
,更喜欢not True
。前者使它看起来像一个函数调用,而 not
是一个运算符,而不是一个函数。
关于python - 为什么 "not(True) in [False, True]"返回 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31421379/