Terry Reedy <tjre...@udel.edu> wrote: >Sion Arrowsmith wrote: >> Jack Diederich <jackd...@gmail.com> wrote: >>> It isn't an OrderedDict thing, it is a comparison thing. Two regular >>> dicts also raise an error if you try to LT them. >> Python 2.5.2 >>>>> d1 = dict((str(i), i) for i in range (10)) >>>>> d2 = dict((str(i), i) for i in range (20)) >>>>> d1 < d2 >> True >Try reversing the definitions of d1 and d2. The dicts are probably being >compared by id (address), which is the 2.x CPython default.
Like this? >>> d1 = dict((str(i), i) for i in range (20)) >>> d2 = dict((str(i), i) for i in range (10)) >>> d1 < d2 False >>> id(d1) < id(d2) True I didn't know that comparison for anything other than equality defaulted to using id. That really is rather broken, and I'm glad 3.0 fixed it. -- \S under construction -- http://mail.python.org/mailman/listinfo/python-list