2012/7/23 Chris Rebert <pyideas@rebertia.com>
On Sun, Jul 22, 2012 at 9:03 PM, Giampaolo Rodolà <g.rodola@gmail.com> wrote:
This would be similar to 'key' argument already available for min(), max() and sorted() and would let user decide what must be considered True and what not. Some use cases:
all(a, b, c, ... key=callable)
You're missing some brackets or parens there: all([a, b, c, ...], key=callable)
<snip>
Thoughts?
I see negligible advantage over just writing the generator expression directly: all(callable(item) for item in iterable)
<snip>
min() & max() return the result object satisfying the constraint, so the `key` argument makes sense for when you want to e.g. find the cheapest house rather than the price of the cheapest house. In contrast, any() & all() *always* just return a simple bool result, not the object whose truthiness determined the predicate's result, so `key` would be pointless since the result gets converted to a plain bool anyway (or at least, we can conceptualize the implementation as if it worked that way).
Agreed. Please ignore my proposal then. --- Giampaolo https://code.google.com/p/pyftpdlib/ https://code.google.com/p/psutil/ https://code.google.com/p/pysendfile/