在Python中,[] 是一个空的列表,而 not [] 则表示对空列表进行逻辑非运算。在Python中,空的列表被视为逻辑假(False),所以 not [] 的结果是 True。
[]
not []
False
True
这是因为在Python中,空的容器对象(例如空列表、空字典、空集合等)在布尔上下文中被视为假,而 not 运算符会反转这个逻辑值。
not
因此,[] == not [] 实际上等价于 [] == True,而在Python中,空列表与布尔值 True 不相等,所以表达式的结果是 False。
[] == not []
[] == True
如果你想要检查列表是否为空,应该使用 not 运算符与 [] 的比较,而不是 == 运算符。例如:
==
if not []: print("列表为空") else: print("列表不为空")
这将输出 "列表为空"。
原文链接:codingdict.net