[Python-3000] Total ordering and __cmp__
Georg Brandl
g.brandl at gmx.net
Wed Mar 21 16:29:45 CET 2007
Josiah Carlson schrieb:
> Georg Brandl <g.brandl at gmx.net> wrote:
>> Guido van Rossum schrieb:
>> > I haven't taken any action, and it looks like __cmp__ isn't being
>> > called. I'd rather not add it back; if you want it back, could you at
>> > least write up a brief PEP? A patch would also help; I recall that it
>> > was quite a relief being able to cut it out, so I expect that patching
>> > it back in would be quite cumbersome.
>>
>> BTW, was it intentional that dicts can't be compared via ">" and "<"
>> anymore?
>
> Being that dictionaries are *unordered* mappings of keys to values, is
> there an ordering on dictionaries that makes any sense? If I understand
> the changes in comparisons correctly, the point is to remove a total
> ordering on all Python objects, as it is currently broken. For objects
> that have no reasonable ordering (imaginary vs float, tuples vs unicode,
> set vs. set, etc.), the only comparisons that return anything useful are
> x == y and x != y.
Yes, but dictionaries had an explicit ordering in dict_compare() which was
deleted.
Georg
More information about the Python-3000
mailing list