Часто разработчики сталкиваются с ситуацией, когда нужно получить значение из словаря по определенному ключу. Однако, если такого ключа не существует в словаре, Python возвращает исключение KeyError. Рассмотрим пример:
my_dictionary = {'a': 1, 'b': 2, 'c': 3} print(my_dictionary['d'])
Выполнив этот код, получим исключение KeyError: 'd'
, потому что в словаре my_dictionary
нет ключа 'd'
.
Существует несколько способов обойти это исключение и просто вернуть None
или любое другое значение по умолчанию, если ключа нет в словаре.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Использование метода get()
Самый простой и распространенный способ — использовать метод get()
словаря. Этот метод возвращает значение для ключа, если он существует, и None
, если ключа нет. Пример:
my_dictionary = {'a': 1, 'b': 2, 'c': 3} print(my_dictionary.get('d'))
Выполнив этот код, мы не получим исключение, а просто увидим None
в выводе.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Изменение значения по умолчанию
Также можно изменить значение по умолчанию, которое возвращает метод get()
, если ключа нет в словаре. Для этого нужно передать это значение вторым аргументом в метод get()
. Пример:
my_dictionary = {'a': 1, 'b': 2, 'c': 3} print(my_dictionary.get('d', 'default value'))
Теперь, если ключа 'd'
нет в словаре, метод get()
вернет строку 'default value'
.
Таким образом, метод get()
является удобным и безопасным способом получения значения из словаря по ключу, не боясь получить исключение KeyError
.
Добавить комментарий