From 0736767fdfef56f6ebc1306052590f0f704187d6 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Wed, 14 Jul 2010 20:30:02 +0000 Subject: [PATCH] Fix issue9132 - Documentation for comparing dictionaries is out of date --- Doc/reference/expressions.rst | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index e568ddf6a6..b61ec08edb 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1031,9 +1031,9 @@ Comparison of objects of the same type depends on the type: ``x <= y``. If the corresponding element does not exist, the shorter sequence is ordered first (for example, ``[1,2] < [1,2,3]``). -* Mappings (dictionaries) compare equal if and only if their sorted ``(key, - value)`` lists compare equal. [#]_ Outcomes other than equality are resolved - consistently, but are not otherwise defined. [#]_ +* Mappings (dictionaries) compare equal if and only if they have the same + ``(key, value)`` pairs. Order comparisons ``('<', '<=', '>=', '>')`` + raise :exc:`TypeError`. * Sets and frozensets define comparison operators to mean subset and superset tests. Those relations do not define total orderings (the two sets ``{1,2}`` @@ -1330,15 +1330,6 @@ groups from right to left). strings in a human recognizable way, compare using :func:`unicodedata.normalize`. -.. [#] The implementation computes this efficiently, without constructing lists - or sorting. - -.. [#] Earlier versions of Python used lexicographic comparison of the sorted (key, - value) lists, but this was very expensive for the common case of comparing - for equality. An even earlier version of Python compared dictionaries by - identity only, but this caused surprises because people expected to be able - to test a dictionary for emptiness by comparing it to ``{}``. - .. [#] Due to automatic garbage-collection, free lists, and the dynamic nature of descriptors, you may notice seemingly unusual behaviour in certain uses of the :keyword:`is` operator, like those involving comparisons between instance -- 2.40.0