[Python-Dev] Tuples and underorderable types (original) (raw)
Scott Dial scott+python-dev at scottdial.com
Fri Apr 24 20:25:04 CEST 2009
- Previous message: [Python-Dev] Tuples and underorderable types
- Next message: [Python-Dev] Tuples and underorderable types
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Raymond Hettinger wrote:
Would it make sense to provide a default ordering whenever the types are the same?
def object.lt(self, other): if type(self) == type(other): return id(self) < id(other) raise TypeError
No. This only makes it more difficult for someone wanting to behave smartly with incomparable types. I can easily imagine someone wanting incomparable objects to be treated as equal wrt. sorting. I am thinking especially with respect to keeping the sort stable. I think many developers would be surprised to find,
a = tasks = [(10, lambda: 0), (20, lambda: 1), (10, lambda: 2)] tasks.sort() assert tasks[0]1 == 0
, is not guaranteed.
Moreover, I fail to see your point in general as a bug if you accept that there is not all objects can be total ordered. We shouldn't be patching the object base class because of legacy code that relied on sorting tuples; this code should be updated to either use a key function.
-Scott
-- Scott Dial scott at scottdial.com scodial at cs.indiana.edu
- Previous message: [Python-Dev] Tuples and underorderable types
- Next message: [Python-Dev] Tuples and underorderable types
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]