On Fri, 29 Jan 2010 12:13:50 +1100, Ben Finney wrote: > Paul Rubin <no.em...@nospam.invalid> writes: > >> Ben Finney <ben+pyt...@benfinney.id.au> writes: >> > So how should I be sorting a list with entries of “unequal types” >> > such that it will work in Python 3? >> >> Um, what ordering do you want? > > The same ordering I'd get in Python 2; that is, determined by the types > of the elements.
The ordering has not been consistent across minor versions of Python 2: $ python2.0 Python 2.0.1 (#1, Jan 14 2010, 15:43:17) [GCC 4.1.2 20070925 (Red Hat 4.1.2-27)] on linux2 Type "copyright", "credits" or "license" for more information. >>> L = [None, {}, [], 1, "x"] >>> L.sort() >>> L [1, None, {}, [], 'x'] $ python2.6 Python 2.6.1 (r261:67515, Dec 24 2008, 00:33:13) [GCC 4.1.2 20070502 (Red Hat 4.1.2-12)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> L = [None, {}, [], 1, "x"] >>> L.sort() >>> L [None, 1, {}, [], 'x'] Python has never guaranteed a particular ordering for unequal types, only that it would be consistent between repeated calls to sort. -- Steven -- http://mail.python.org/mailman/listinfo/python-list