]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-116488: Mention `dict.get` in the data structures tutorial (GH-139643)...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 6 Oct 2025 16:04:44 +0000 (18:04 +0200)
committerGitHub <noreply@github.com>
Mon, 6 Oct 2025 16:04:44 +0000 (19:04 +0300)
Co-authored-by: Cycloctane <Cycloctane@outlook.com>
Doc/tutorial/datastructures.rst

index db8a066b369a830b5eb848ae9a77bc30d069f497..1332c53f39687ec53c29f43828f7ffbc753943c0 100644 (file)
@@ -512,8 +512,12 @@ dictionary; this is also the way dictionaries are written on output.
 The main operations on a dictionary are storing a value with some key and
 extracting the value given the key.  It is also possible to delete a key:value
 pair with ``del``. If you store using a key that is already in use, the old
-value associated with that key is forgotten.  It is an error to extract a value
-using a non-existent key.
+value associated with that key is forgotten.
+
+Extracting a value for a non-existent key by subscripting (``d[key]``) raises a
+:exc:`KeyError`. To avoid getting this error when trying to access a possibly
+non-existent key, use the :meth:`~dict.get` method instead, which returns
+``None`` (or a specified default value) if the key is not in the dictionary.
 
 Performing ``list(d)`` on a dictionary returns a list of all the keys
 used in the dictionary, in insertion order (if you want it sorted, just use
@@ -528,6 +532,12 @@ Here is a small example using a dictionary::
    {'jack': 4098, 'sape': 4139, 'guido': 4127}
    >>> tel['jack']
    4098
+   >>> tel['irv']
+   Traceback (most recent call last):
+     File "<stdin>", line 1, in <module>
+   KeyError: 'irv'
+   >>> print(tel.get('irv'))
+   None
    >>> del tel['sape']
    >>> tel['irv'] = 4127
    >>> tel