[Python-Dev] Small any/all enhancement
Eric Nieuwland
eric.nieuwland at xs4all.nl
Wed Dec 28 08:06:09 CET 2005
Alex Martelli wrote:
> On Dec 27, 2005, at 12:45 PM, Valentino Volonghi aka Dialtone wrote:
> ...
>> any(iterable, test=bool) and all(iterable, test=bool)
> ...
>> any(some_objects, test=operator.attrgetter('some_attribute'))
>
> Why would that be better than
> any(o.some_attribute for o in some_objects)
> ?
>
>> def zerop(x):
>> return x==0
>>
>> all(some_objects, zerop)
>
> and why would that be better than
> all(o==0 for o in some_objects)
> ?
all() can be terminated at the first false element. For very long
sequences this has important performance benefits. Besides, it makes
all(seq,pred) the equivalent of pred(seq[0]) and pred(seq[1]) and
pred(seq[2]) and ...
More information about the Python-Dev
mailing list