我正在测试列表以查看它是否为空。通常我使用len(list)== 0,而我隐约记得刚才读到的那个测试列表是否为空的正确方法是它是True还是False。布尔测试在Python中的列表
所以我尝试列表是False,并返回False。也许我想假设使用==?不然,那也返回了错误。列表为True,返回false,列表== True。
现在我很困惑,所以我做了快速谷歌,并在最后:Best way to check if a list is empty
顶端回答是:
if not a:
print "List is empty"
所以我四处搜寻一些和蟒蛇手动结束其中4.1状态:
任何对象都可以测试真值,用于if或while条件或作为以下布尔操作的操作数。以下值被认为是false:
任何空序列,例如'',(),[]。
现在我很困惑。如果我测试一个列表就好像没有列表一样,它工作正常。但是,如果一个空列表是错误的,那么为什么我不能做,如果列表是False或者列表== False?
感谢
具体而言,调用[__nonzero__](http://docs.python.org/reference/datamodel.html#object.%5F%5Fnonzero%5F%5F)方法 – ernie 2012-07-31 03:41:28