On Sat, 29 Mar 2014 17:36:55 -0500, Tim Chase wrote:

> And for cases where you have more than one or two things to test for
> None-itude, you could use
> 
>   if all(x is None for x in [a, b, c, d]):
>     do_something_if_theyre_all_None()
> 
> or
> 
>   if all(x is not None for x in [a, b, c, d]):
>     do_something_if_no_Nones()
> 
> or
> 
>   if not any(x is None for x in [a, b, c, d]):
>     do_something_if_no_Nones()
> 
> which I find *much* more readable from a maintenance point of view.

With one or two things, I would stick to a regular comparison (skipping 
the "not"):

a is None
a is b is None

With three, I would consider either idiom:

a is b is c is None
all(x is None for x in (a, b, c))

but lean towards the use of all(). From four onwards I would definitely 
use all(), and of course if there is an arbitrary number of items, I 
would definitely use all().



-- 
Steven D'Aprano
http://import-that.dreamwidth.org/
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to