我正在測試列表以查看它是否爲空。通常我使用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