Antoon Pardon, 23.03.2011 16:14:
On Wed, Mar 23, 2011 at 02:59:09PM +0100, Stefan Behnel 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.
Which isn't helpfull if where you decide how they have to be sorted is
not the place where they are actually sorted.
I have a class that is a priority queue. Elements are added at random but
are removed highest priority first. The priority queue can have a key or
a cmp function for deciding which item is the highest priority. It
can also take a list as an initializor, which will then be sorted.
So this list is sorted within the class but how it is sorted is decided
outside the class. So I can't do the sort in multiple steps.
That sounds more like a use case for heap sort than for Python's builtin
list sort. See the heapq module.
Stefan
--
http://mail.python.org/mailman/listinfo/python-list