[Python-3000] sort vs order (was: What should the focus for 2.6 be?)
Michael Chermside
mcherm at mcherm.com
Thu Aug 24 23:45:24 CEST 2006
Jim Jewett writes:
> Given an arbitrary collection of objects, I want to be able to order
> them in a consistent manner, at least within a single interpreter
> session.
I think this meets your specifications:
>>> myList = [2.5, 17, object(), 3+4j, 'abc']
>>> myList.sort(key=id)
I prefer Guido's suggestion (id=lambda x: (type(x), x)), but it
doesn't handle types that are not comparable (like the complex
number I included to be perverse). Frankly, I don't know why
you have an "arbitrary collection of objects" -- the only things
I have ever dealt with that handled truly _arbitrary_ collections
of objects were garbage collectors and generic caching mechanisms.
In either case you really *wouldn't* care how things sorted so
long as it was consistant, and then sorting by id works nicely.
Of course, I doubt this is what you're doing because if you
REALLY had arbitrary objects (including uncomparable things like
complex numbers) then you would already need to be doing this
today and your code wouldn't even need to be modified when you
upgraded to 3.0.
-- Michael Chermside
More information about the Python-3000
mailing list