Какое исключение возникает при обращении к несуществующему ключу словаря?

При чтении dictionary[key] для отсутствующего ключа возникает KeyError. Если отсутствие ожидаемо, можно проверить key in dictionary или использовать get() с подходящим значением по умолчанию.

Короткий ответ

Что ответить на собеседовании

При чтении dictionary[key] для отсутствующего ключа возникает KeyError. Если отсутствие ожидаемо, можно проверить key in dictionary или использовать get() с подходящим значением по умолчанию.

Подробный разбор

Ответ с пояснениями

При чтении dictionary[key] для отсутствующего ключа возникает KeyError. Если отсутствие ожидаемо, можно проверить key in dictionary или использовать get() с подходящим значением по умолчанию.

Например, {'a': 1}['b'] вызовет KeyError, а {'a': 1}.get('b') вернёт None. Если None является допустимым значением, применяют отдельный sentinel, чтобы отличить его от отсутствия. setdefault() не просто читает: он может добавить ключ. Не стоит ловить KeyError вокруг слишком большого блока, иначе можно скрыть другую ошибку обращения к словарю.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее