Проверка существования ключа в словаре Python является распространенной операцией, используемой во многих сценариях. Например, если вы попытаетесь получить доступ к несуществующему значению ключа через [], то получите ошибку KeyError. Чтобы избежать этого, можно проверить существование ключа. Таким образом вы не только справитесь с этой ошибкой, но и предотвратите неожиданное поведение кода при выполнении любой операции над словарем.
В этом уроке мы рассмотрим четыре наиболее часто используемых способа проверки существования ключа в словаре на языке Python. Мы также рассмотрим синтаксис каждого метода и продемонстрируем их на примерах. Давайте начнем!
Друзья, подписывайтесь на наш телеграм канал Pythonist. Там еще больше туториалов, задач и книг по Python.
В Python оператор in вместе с if может быть использован для проверки наличия определенного ключа в словаре.
Оператор in в Python, в основном, используется для проверки на принадлежность. Он может проверить, содержится ли определенный элемент или значение в определенной последовательности, такой как список, кортеж, словарь и так далее.
Синтаксис:
if value in iterable:
Пример:
inp_dict = {'Python': "A", 'Java':"B", 'Ruby':"C", 'Kotlin':"D"}
search_key = 'Ruby'
if search_key in inp_dict:
print("The key is present.")
else:
print("The key does not exist in the dictionary.")
# Вывод:
# The key is present. Здесь мы использовали оператор if вместе с оператором in для проверки наличия или отсутствия заданного ключа 'Ruby' в нашем словаре. Кроме того, если необходимо проверить несколько ключей, вы можете реализовать цикл for .
Встроенный в Python метод keys() может быть использован для проверки наличия ключа в существующем словаре.
Синтаксис:
dict.keys()
Метод keys() вызывается без аргументов и возвращает объект, представляющий собой список всех ключей, присутствующих в конкретном входном словаре.
Чтобы проверить, есть ли в словаре определенный ключ, вместе с методом keys() можно использовать оператор if. Таким образом мы сравним искомый ключ со списком ключей, возвращаемым методом keys(). Если ключ присутствует, выполнится инструкция в разделе if, в противном случае выполнится инструкция в разделе else.
Пример 1:
inp_dict = {'Python': "A", 'Java':"B", 'Ruby':"C", 'Kotlin':"D"}
search_key = 'Ruby'
if search_key in inp_dict.keys():
print("The key is present.")
else:
print("The key does not exist in the dictionary.")
# Вывод:
# The key is present. Пример 2:
inp_dict = {'Python': "A", 'Java':"B", 'Ruby':"C", 'Kotlin':"D"}
search_key = 'Cpp'
if search_key in inp_dict.keys():
print("The key is present.")
else:
print("The key does not exist in the dictionary.")
# Вывод:
# The key does not exist in the dictionary. Метод Python get() может быть использован для проверки наличия конкретного ключа в словаре.
Этот метода фактически возвращает значение, связанное с ключом, если ключ присутствует в словаре. В противном случае возвращается значение по умолчанию — None.
Синтаксис:
dict.get(key, default=None)
Мы передаем искомый ключ в качестве аргумента методу get(), и если нужного ключа в словаре нет, метод возвращает None, а если есть, то мы получим значение, хранимое в данном ключе.
Пример:
inp_dict = {'Python': "A", 'Java':"B", 'Ruby':"C", 'Kotlin':"D"}
if inp_dict.get('Python')!=None:
print("The key is present.")
else:
print("The key does not exist in the dictionary.")
# Вывод:
# The key is present. Но будьте осторожны: если в словаре будет ключ, но со значением None, проверка все равно провалится. Для таких сценариев стоит использовать другое значение параметра по умолчанию, либо вообще выбрать другой метод проверки.
Примечание: метод has_keys() был исключен из Python версии 3 и выше.
Метод Python has_key() проверяет, имеется ли в dict определенный ключ. Если ключ в словаре есть, метод возвращает True, в противном случае — False.
Синтаксис:
dict.has_keys(key)
Пример:
inp_dict = {'Python': "A", 'Java':"B", 'Ruby':"C", 'Kotlin':"D"}
search_key = 'Kotlin'
if inp_dict.has_key(search_key):
print("The key is present.")
else:
print("The key does not exist in the dictionary.")
# Вывод:
# The key is present. Словарь — это структура данных, которая содержит данные в виде пар ключ-значение. В этом учебном пособии мы на конкретных примерах рассмотрели несколько способов проверить, есть ли определенный ключ в словаре.
Мы проверяли с помощью оператора in, а также методов keys(), get() и has_key(). Каждый из подходов имеет свои преимущества и подходит для различных сценариев. Зная это, вы сможете эффективно проверять, существует ли ключ в словаре.
Перевод статьи «4 Easy Techniques to Check if Key Exists in a Python Dictionary».
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…