Python: Проверьте, существует ли ключ (или значение) в словаре (5 простых способов)

В этом уроке вы узнаете, как проверить, существует ли ключ в словаре Python. Вы также научитесь проверять, существует ли значение в словаре. Мы рассмотрим использование оператора in, метода .get(), функции has_key() и методов .keys() и .values().

Знание работы со словарями Python — важный навык, особенно полезный при работе с веб-API, которые возвращают данные в формате JSON.

Когда вы пытаетесь обратиться к словарю по индексу, а ключ отсутствует, выбрасывается исключение KeyError. Это может вызвать серьёзные проблемы в программе, если не обработать такие ошибки. Поэтому более безопасный подход — проверять наличие ключа в словаре перед попыткой его использования.

Давайте начнём!

Оглавление:


Что такое словарь в Python?

Словари в Python — одна из основных встроенных структур данных. Они состоят из пар ключ:значение, что делает поиск значений быстрым, если вы знаете соответствующий ключ. Уникальной особенностью словарей является то, что ключи должны быть уникальными, а значения могут повторяться.

Пример создания словаря в Python:

Для доступа к значению по ключу часто используют квадратные скобки. Однако этот метод не всегда безопасен. Рассмотрим почему.


Проблемы при индексации словаря Python

Доступ к значению по ключу работает только в случае, если ключ существует. Например:

Но если ключ отсутствует:

Если ошибка KeyError не обработана, это приведёт к завершению программы. Чтобы избежать этого, необходимо сначала убедиться, что ключ существует. Далее мы рассмотрим несколько подходов для проверки наличия ключа.


Проверка существования ключа: метод .keys()

Метод .keys() возвращает объект, содержащий все ключи словаря:

Пример использования для проверки ключа:


Проверка существования ключа: оператор in

Метод .keys() можно опустить. Оператор in напрямую проверяет наличие ключа:

Этот способ проще и делает код более читаемым.


Использование метода .get() для проверки ключей

Метод .get() возвращает значение для ключа, если он существует, или None, если его нет. Это позволяет избежать ошибок KeyError:

Вы можете задать значение по умолчанию, возвращаемое, если ключ отсутствует:


Проверка существования значения с помощью .values()

Метод .values() возвращает объект, содержащий все значения словаря:

Пример проверки наличия значения:

Если нужно получить все ключи для определённого значения, используйте списковое включение:


Заключение

В этом уроке вы узнали, как проверять существование ключей и значений в словарях Python. Мы рассмотрели методы .keys(), .get(), .values() и оператор in. Эти инструменты помогают избегать ошибок и упрощают работу с данными.

Дополнительно изучить словари можно в официальной документации Python.

Последнее обновление