On Thu, Jul 16, 2009 at 2:21 AM, Mark Summerfield<l...@qtrac.plus.com> wrote: > Hi, > > I'm just wondering why <, <=, >=, and > are not supported by > collections.OrderedDict: > > >>> d1 = collections.OrderedDict((("a",1),("z",2),("k",3))) > >>> d2 = d1.copy() > >>> d2["z"] = 4 > >>> d1 == d2 > False > >>> d1 < d2 > Traceback (most recent call last): > File "<pyshell#6>", line 1, in <module> > d1 < d2 > TypeError: unorderable types: OrderedDict() < OrderedDict() > > It just seems to me that since the items in ordered dictionaries are > ordered, it would make sense to do an item by item comparison from > first to last item in exactly the same way that Python compares lists > or tuples?
>>> import this In the face of ambiguity, refuse the temptation to guess. It isn't an OrderedDict thing, it is a comparison thing. Two regular dicts also raise an error if you try to LT them. What does it mean for a dict to be greater than or less than its peer? Nothing, so we refuse to guess. -Jack -- http://mail.python.org/mailman/listinfo/python-list