[Python-3000] Total ordering and cmp (original) (raw)

Georg Brandl g.brandl at gmx.net
Wed Mar 21 21:52:20 CET 2007


Terry Reedy schrieb:

"Georg Brandl" <g.brandl at gmx.net> wrote in message news:etrj1a$l9a$1 at sea.gmane.org... | Yes, but dictionaries had an explicit ordering in dictcompare() which was | deleted.

Is dictcompare something added in 2.5? It is neither a builtin or dict method in 2.4.

No, it is a C function in dictobject.c, in Python available as dict.cmp.

In any case, this point is that dict ordering is as arbitrary as ordering, for instance, a dict and a string. Since Guido stopped the experiment of totally ordering all objects when complex nums were added, consistency suggests that all fake orderings be eliminated, leaving only the order of numbers, characters, and sequences of comparable objects.

It was not really that arbitrary. There was a defined algorithm, and it made some sense (at least for 1-item-dicts).

Georg



More information about the Python-3000 mailing list