What is the most efficient way to test for False in a list?

John J. Lee jjl at pobox.com
Wed Jul 11 01:36:18 CEST 2007

Duncan Booth <duncan.booth at invalid.invalid> writes:

> Paul Rubin <http://phr.cx@NOSPAM.invalid> wrote:
>> "Diez B. Roggisch" <deets at nospam.web.de> writes:
>>> >> status = all(list)
>>> > 
>>> > Am I mistaken, or is this no identity test for False at all?
>>> You are mistaken. all take an iterable and returns if each value of
>>> it is true.
>> all(list) does what the OP's code did, tests for the presence of a
>> false value in the list.  If you want an identity test, use 
>>   status = not (False in list)
> That is an equality test, not an identity test:
>>>> False in [0]
> True

It's also not a very idiomatic equality test -- "x not in y" is better
than "not (x in y)".


More information about the Python-list mailing list