summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/reference/datamodel.rst10
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS.d/next/Documentation/2020-03-16-18-12-02.bpo-39879.CnQ7Cv.rst2
3 files changed, 13 insertions, 0 deletions
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index c683d99..e91e855 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -425,6 +425,11 @@ Mappings
equal (e.g., ``1`` and ``1.0``) then they can be used interchangeably to index
the same dictionary entry.
+ Dictionaries preserve insertion order, meaning that keys will be produced
+ in the same order they were added sequentially over the dictionary.
+ Replacing an existing key does not change the order, however removing a key
+ and re-inserting it will add it to the end instead of keeping its old place.
+
Dictionaries are mutable; they can be created by the ``{...}`` notation (see
section :ref:`dict`).
@@ -436,6 +441,11 @@ Mappings
additional examples of mapping types, as does the :mod:`collections`
module.
+ .. versionchanged:: 3.7
+ Dictionaries did not preserve insertion order in versions of Python before 3.6.
+ In CPython 3.6, insertion order was preserved, but it was considered
+ an implementation detail at that time rather than a language guarantee.
+
Callable types
.. index::
object: callable
diff --git a/Misc/ACKS b/Misc/ACKS
index a4db5a5..4e4d090 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -39,6 +39,7 @@ Ray Allen
Billy G. Allie
Jamiel Almeida
Kevin Altis
+Samy Lahfa
Skyler Leigh Amador
Joe Amenta
Rose Ames
diff --git a/Misc/NEWS.d/next/Documentation/2020-03-16-18-12-02.bpo-39879.CnQ7Cv.rst b/Misc/NEWS.d/next/Documentation/2020-03-16-18-12-02.bpo-39879.CnQ7Cv.rst
new file mode 100644
index 0000000..6698ed6
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2020-03-16-18-12-02.bpo-39879.CnQ7Cv.rst
@@ -0,0 +1,2 @@
+Updated :ref:`datamodel` docs to include :func:`dict` insertion order preservation.
+Patch by Furkan Onder and Samy Lahfa.