simultaneous assignment

Boris Borcic bborcic at gmail.com
Tue May 2 15:28:58 EDT 2006


Grant Edwards wrote:
> Python knows how to count.  :)
> 
> def countFalse(seq):
>     return len([v for v in seq if not v])
> 
> def countTrue(seq):
>     return len([v for v in seq if v])
> 
> def truth_test(seq):
>     return countTrue(seq) == 1
> 

I'd suggest the more direct

def countFalse(seq) :
     return sum(1 for v in seq if not v)

def countTrue(seq) :
     return sum(1 for v in seq if v)

- not to speak of

def countFalse(seq) :
     return sum(not v for v in seq)

def countTrue(seq) :
     return sum(bool(v) for v in seq)



More information about the Python-list mailing list