据我所知,我可以测试列表是否为空:
l = []
if not l:
print("empty")
但我不明白为什么下一个代码不相同:
if l == False:
print("empty")
答案 0 :(得分:0)
l
本身是list
类型,因此将其与布尔值进行比较将始终返回False
not l
是布尔表达式,因此有时会根据True
是否为空来返回l
>>>l = []
>>>type(l)
<type 'list'>
>>>l == True
False
>>>l == False
False
>>>
>>>
>>> type(not l)
<type 'bool'>
>>> (not l) == False
False
>>> (not l) == True
True