[Python-Dev] Small any/all enhancement

"Martin v. Löwis" martin at v.loewis.de
Tue Dec 27 22:49:58 CET 2005


Valentino Volonghi aka Dialtone wrote:
> What I would like to ask, before it's too late, is if it's possible to add an
> optional test argument.

I don't see why: you can easily synthesize that with map/imap.
> These would be the new proposed APIs. The usecase is to be able to extract
> attributes from objects or simply to have arbitrary checks like:
>> import operator
>> any(some_objects, test=operator.attrgetter('some_attribute'))

So write
 any(map(operator.attrgetter('some_attribute'), some_objects))
 # same number of characters to type
 any(o.some_attribute for o in some_objects)
 # fewer number of characters
> def zerop(x):
> return x==0
>> all(some_objects, zerop)

So write
 all(map(some_objects, zerop))
or
 all(o==0 for o in some_objects)
 # avoids defining zerop
> instead of preprocessing the generator with a generator expression before
> passing it to any/all.

What is the disadvantage of such "preprocessing"?
Regards,
Martin


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /