diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 47d64f1e8d6..435ba5b74ff 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 d3b35fcff5c..8ad26d69786 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