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
См. также
dict.setdefault() — получить или вставить значение
dict.pop() — получить и удалить
dict.keys() — все ключи словаря
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.