On 9-Jan-08, at 11:41 AM, Oleg Broytmann wrote:

> On Wed, Jan 09, 2008 at 11:34:59AM -0800, Brett Cannon wrote:
>> On Jan 9, 2008 11:34 AM, Oleg Broytmann <[EMAIL PROTECTED]> wrote:
>>>    newlist = oldlist.sort(key=lambda v: v.attr_x)
>>
>> And don't forget about operator.attrgetter().
>
>    I don't like it for the task. To use I need to import operator, and
> I don't know is it faster or slower than lambda; I suspect it's  
> slower but
> I am too lazy to test. Using lambda to get a simple attribute seems  
> much
> simpler to me.

lambda's are always slower than the equivalent coded in c:

[EMAIL PROTECTED] frontend]$ python -m 'timeit' 'import  
operator; f=operator.attrgetter("open"); import os' 'f(os)'
100000 loops, best of 3: 5.71 usec per loop
[EMAIL PROTECTED] frontend]$ python -m 'timeit' 'f=lambda  
x: x.open; import os' 'f(os)'

100000 loops, best of 3: 6.06 usec per loop

-Mike
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to