[Python-ideas] list.sort with a int or str key

Guido van Rossum guido at python.org
Thu Sep 16 17:44:15 CEST 2010


On Thu, Sep 16, 2010 at 8:35 AM, Daniel Stutzbach
<daniel at 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.

-1. I think this is too cryptic.

> As a bonus, performance for those cases would also improve.

Have you measured this? Remember that the key function is only called
N times while the number of comparisons (using the values returned
from the key function) is O(N log N).

-- 
--Guido van Rossum (python.org/~guido)



More information about the Python-ideas mailing list