[Python-ideas] Fwd: Why do equality tests between OrderedDict keys/values views behave not as expected?
Franklin? Lee
leewangzhong+python at gmail.com
Thu Dec 17 15:38:21 EST 2015
(Note: This is already the case.
https://docs.python.org/3/library/collections.html#collections.OrderedDict
"""
Equality tests between OrderedDict objects are order-sensitive and are
implemented as list(od1.items())==list(od2.items()). Equality tests
between OrderedDict objects and other Mapping objects are
order-insensitive like regular dictionaries. This allows OrderedDict
objects to be substituted anywhere a regular dictionary is used.
"""
So you're asking whether to deprecate this behavior?)
On Thu, Dec 17, 2015 at 2:55 PM, Guido van Rossum <guido at python.org> wrote:
> So I think that not using the __eq__ method of the keys or values is wrong
> (dicts do use it), but there's a philosophical question: if two OrderedDicts
> have the same key/value pairs in a different order, should they be
> considered equal or not? (Only when we've answered this can we answer the
> question about keys/values/items).
>
> I'm not a frequent user of OrderedDict, so I don't have a good intuition,
> unfortunately.
>
> --
> --Guido van Rossum (python.org/~guido)
More information about the Python-ideas
mailing list