我正在测试一个列表,看看它是否为空。通常我使用 len(list) == 0 并且我隐约记得不久前阅读过测试列表是否为空的正确方法是它是真还是假。
所以我试过 list is False,结果返回 False。也许我想使用 == ?不,这也返回了错误。list 为 True,返回 false 与 list == True 一样。
现在我很困惑,所以我快速搜索了一下,结果是:检查列表是否为空的最佳方法
最佳答案是:
if not a:
print "List is empty"
所以我搜索了更多内容,最后在 python 手册中找到了 4.1 状态:
可以测试任何对象的真值,用于 if 或 while 条件或作为以下布尔运算的操作数。以下值被认为是错误的:
任何空序列,例如,''、()、[]。
现在我很困惑。如果我测试一个列表,就像不是列表一样,它工作正常。但是如果一个空列表是假的,那么如果列表是假的或者如果列表 == 假,我为什么不能这样做呢?
谢谢