Gerhard Häring wrote: > Peter Otten wrote: >> bdb112 wrote: >> >>> Your explanation of Boolean ops on lists was clear. >>> It leads to some intriguing results: >>> >>> bool([False]) >>> --> True >>> >>> I wonder if python 3 changes any of this? >> >> No. Tests like >> >> if items: >> ... >> >> to verify that items is a non-empty list are a widespread idiom in >> Python. They rely on the behaviour you observe. > > Are they widespread? I haven't noticed, yet.
That is my impression. > I prefer to write it explicitly: > > if len(lst) > 0: > ... Using google codesearch I get matches search expression ca. 1000 lang:python "if items:" 216 lang:python "if len(items) > 0:" This could of course mean that "people who like 'items' as a list name also like the 'if items:...' idiom" or "'items' is a popular name for boolean values" or "the search result is spammed by a gazillion zope versions"... Peter -- http://mail.python.org/mailman/listinfo/python-list