> In any case, would it be possible to add a cmp= function which did more
> or less what the current default cmp does now?
As somebody pointed out, it's possible to create a key= function that
provides arbitrary ordering: just return an object custom type whose
__lt__ never fails:
class AlwaysOrdered:
def __init__(self, o):
self.o = o
def __lt__(self, other):
o1 = self.o
o2 = other.o
try:
return o1 < o2
except TypeError:
return cmp((type(o1).__name__, id(o1)),
(type(o2).__name__, id(o2)))<0
L.sort(key=AlwaysOrdered)
(This is not quite the current implementation, and not even
transitive, but you get the idea)
Regards,
Martni
--
http://mail.python.org/mailman/listinfo/python-list