Would it make sense to provide a default ordering whenever the types are
the same?

This doesn't work when they are not the same :-)

_ ~
@ @
\_/


Instead, you could make the decorating a bit more sophisticated:

 decorated = [(key, id(value), value) for key, value in blah(values)]

or even:

 decorated = [(key, n, value) for n, key, value in enumerate(blah(values))]

I already do something along those lines in heapq.nsmallest() and nlargest() to preserve sort stability. The real issue isn't how to fix one particular module.
The problem is that a basic python pattern is now broken
in a way that may not readily surface during testing.

I'm wondering if there is something we can do to mitigate
the issue in a general way.  It bites that the venerable technique
of tuple sorting has lost some of its mojo.  This may be
an unintended consequence of eliminating default comparisons.


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

Reply via email to