From: Brandt Bucher Date: Wed, 26 Feb 2020 20:01:48 +0000 (-0800) Subject: bpo-36144: Document PEP 584 (GH-18659) X-Git-Tag: v3.9.0a5~233 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d0ca9bd93bb9d8d4aa9bbe939ca7fd54ac870c8f;p=thirdparty%2FPython%2Fcpython.git bpo-36144: Document PEP 584 (GH-18659) --- diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 47d64f1e8d65..435ba5b74ff3 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -4392,6 +4392,22 @@ pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098: >>> d.values() == d.values() False + .. describe:: d | other + + Create a new dictionary with the merged keys and values of *d* and + *other*, which must both be dictionaries. The values of *other* take + priority when *d* and *other* share keys. + + .. versionadded:: 3.9 + + .. describe:: d |= other + + Update the dictionary *d* with keys and values from *other*, which may be + either a :term:`mapping` or an :term:`iterable` of key/value pairs. The + values of *other* take priority when *d* and *other* share keys. + + .. versionadded:: 3.9 + Dictionaries compare equal if and only if they have the same ``(key, value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', '>') raise :exc:`TypeError`. diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst index d3b35fcff5c4..8ad26d697860 100644 --- a/Doc/whatsnew/3.9.rst +++ b/Doc/whatsnew/3.9.rst @@ -70,6 +70,12 @@ Summary -- Release highlights New Features ============ +Dictionary Merge & Update Operators +----------------------------------- + +Merge (``|``) and update (``|=``) operators have been added to the built-in +:class:`dict` class. See :pep:`584` for a full description. +(Contributed by Brandt Bucher in :issue:`36144`.) Other Language Changes