Сообщить об ошибке.

Извлечение значения по ключу словаря в Python

Синтаксис:

dict[key]

Параметры:

  • key - ключ словаря

Возвращаемое значение:

  • элемент словаря, соответствующий ключу key

Описание:

Операция dict[key] вернет элемент словаря dict с ключом key. Операция вызывает исключение KeyError, если ключ key отсутствует в словаре.

Если подкласс dict определяет метод __missing__() и ключ отсутствует, операция d[key] вызывает этот метод с ключом key в качестве аргумента. Затем операция d[key] возвращает или вызывает все, что было возвращено или вызвано вызовом __missing__(key). Никакие другие операции или методы не вызывают __missing__(). Если __missing__() не определен, то возникает KeyError.

__missing__() должен быть методом, он не может быть переменной экземпляра.

>>> class Counter(dict):
...     def __missing__(self, key):
...         return 0
>>> c = Counter()
>>> c['red']
0
>>> c['red'] += 1
>>> c['red']
1

В приведенном выше примере показана часть реализации collections.Counter.

Примеры извлечения значения ключей словаря:

>>> x = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
>>> x['two']
# 2

>>> x['four']
# 4

>>> x['ten']
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# KeyError: 'ten'