python判断字符串或者集合是否为空

最近在看《Effective Python》,里面提到判断字符串或者集合是否为空的原则,原文以下:python

Don’t check for empty values (like [] or '') by checking the length (if len(somelist) == 0). Use if not somelist and assume empty values implicity evaluate to False.web

意即,不要经过取字符串或者集合的长度来判断是否为空,而是要用not关键字来判断,由于当字符串或集合为空时,其值被隐式地赋为False.svg

例子以下lua

>>> somestr=''
>>> sometuple=()
>>> somelist=[]
>>> somedict={}
>>> not somestr
True
>>> not sometuple
True
>>> not somelist
True
>>> not somedict
True
>>> 

Ps. 集合包括list, tuple, dictspa