dict.get()

Метод get() возвращает значение, связанное с указанным ключом. В отличие от обращения d[key], он не возбуждает KeyError, если ключа нет — вместо этого возвращает default (по умолчанию None).

Сигнатура

dict.get(key, default=None)

Параметры

  • key — ключ, значение которого нужно получить.

  • default — значение, которое будет возвращено, если ключа в словаре нет. По умолчанию None.

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

Значение по ключу, если он есть в словаре; иначе — default. Сам словарь при этом не изменяется.

Примеры использования

Пример 1. Базовое получение значения.

sensor = {"temp": 24.5, "humidity": 60}
print(sensor.get("temp"))
print(sensor.get("pressure"))
24.5
None

Пример 2. Значение по умолчанию.

config = {"baud": 9600}
print(config.get("baud", 115200))
print(config.get("parity", "none"))
9600
none

Пример 3. get() против обращения по индексу.

d = {"a": 1}

# Безопасно
print(d.get("b"))         # None

# Возбуждает KeyError
try:
    print(d["b"])
except KeyError as e:
    print("Нет ключа:", e)
None
Нет ключа: 'b'

Пример 4. Подсчёт частот.

text = "arduino"
freq = {}
for ch in text:
    freq[ch] = freq.get(ch, 0) + 1
print(freq)
{'a': 1, 'r': 1, 'd': 1, 'u': 1, 'i': 1, 'n': 1, 'o': 1}

Пример 5. Внимание: None как настоящее значение.

Если в словаре по ключу хранится None, get() вернёт именно его — это не значит, что ключа нет:

d = {"x": None}
print(d.get("x"))            # None — но ключ есть
print(d.get("x") is None)
print("x" in d)              # надёжная проверка наличия ключа
None
True
True

См. также

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.