Guido rethinking removal of cmp from sort method

Carl Banks pavlovevidence at gmail.com
Wed Mar 23 13:23:55 EDT 2011


On Mar 23, 6:59 am, Stefan Behnel <stefan... at behnel.de> wrote:
> Antoon Pardon, 23.03.2011 14:53:
>
> > On Sun, Mar 13, 2011 at 12:59:55PM +0000, Steven D'Aprano wrote:
> >> The removal of cmp from the sort method of lists is probably the most
> >> disliked change in Python 3. On the python-dev mailing list at the
> >> moment, Guido is considering whether or not it was a mistake.
>
> >> If anyone has any use-cases for sorting with a comparison function that
> >> either can't be written using a key function, or that perform really
> >> badly when done so, this would be a good time to speak up.
>
> > How about a list of tuples where you want them sorted first item in ascending
> > order en second item in descending order.
>
> You can use a stable sort in two steps for that.

How about this one: you have are given an obscure string collating
function implented in a C library you don't have the source to.

Or how about this: I'm sitting at an interactive session and I have a
convenient cmp function but no convenient key, and I care more about
the four minutes it'd take to whip up a clever key function or an
adapter class than the 0.2 seconds I'd save to on sorting time.

Removing cmp from sort was a mistake; it's the most straightforward
and natural way to sort in many cases.  Reason enough for me to keep
it.


Carl Banks



More information about the Python-list mailing list