`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).
相关文章