空列表和布尔值

时间:2016-07-15 09:41:49

标签: python boolean

据我所知,我可以测试列表是否为空:

l = []
if not l:
    print("empty")

但我不明白为什么下一个代码不相同:

if l == False:
    print("empty")

1 个答案:

答案 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