[Python-Dev] "groupby" iterator
Thomas Heller
theller at python.net
Mon Dec 1 06:43:43 EST 2003
Guido van Rossum <guido at python.org> writes:
>> How about:
>>
>> extract(attr='grade')
>> extract(item=2)
>> extract(method='foo') # returns the result of calling 'ob.foo()'
>>
>> And following the pattern of Zope's old "query" package:
>>
>> extract(extract(attr='foo'), attr='bar') # extracts ob.foo.bar
>> extract(extract(item=10), method='spam') # extracts ob[10].spam()
>>
>> i.e., the first (optional) positional argument to extract is a function
>> that's called on the outer extract's argument, and the return value is then
>> used to perform the main extract operation on.
>
> I'm not sure what the advantage of this is. It seems more typing,
> more explanation, probably more code to implement (to check for
> contradicting keyword args).
Hm, couldn't "lambda ob: ob.foo.bar" return exactly the same thing as
"extract(extract(attr='foo'), attr='bar')"
? In other words: return specialized C implemented functions for simple
lambda expressions?
Thomas
More information about the Python-Dev
mailing list