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