-1

key='length' could reasonably mean
    lambda a:a.length
or
    lambda a:a['length']

an explicit lambda or itemgetter/attrgetter is clearer.

--- Bruce
http://www.vroospeak.com
http://j.mp/gruyere-security



On Thu, Sep 16, 2010 at 8:35 AM, Daniel Stutzbach <daniel@stutzbachenterprises.com> wrote:
list.sort, sorted, and similar methods currently have a "key" argument that accepts a callable.  Often, that leads to code looking like this:

mylist.sort(key=lambda x: x[1])
myotherlist.sort(key=lambda x: x.length)

I would like to propose that the "key" parameter be generalized to accept str and int types, so the above code could be rewritten as follows:

mylist.sort(key=1)
myotherlist.sort(key='length')

I find the latter to be much more readable.  As a bonus, performance for those cases would also improve.
--
Daniel Stutzbach

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
http://mail.python.org/mailman/listinfo/python-ideas