`not` 运算符与 python 列表的奇怪行为
问题描述
当我尝试使用 python 的 not
运算符检查列表是否为空时,它的行为方式很奇怪.
When I'm trying to check whether a list is empty or not using python's not
operator it is behaving in a weird manner.
我尝试使用带有列表的 not
运算符来检查它是否为空.
I tried using the not
operator with a list to check whether it is empty or not.
>>> a = []
>>> not (a)
True
>>> not (a) == True
True
>>> not (a) == False
True
>>> True == False
False
not (a) == False
的预期输出应该是 False.
The expected output for not (a) == False
should be False.
解决方案
==
有 比 not
更高的优先级.not (a) == False
被解析为 not (a == False)
.
==
has higher precedence than not
. not (a) == False
is parsed as not (a == False)
.
相关文章