Автор оригинала: Pankaj Kumar.
Привет! Сегодня мы собираемся покрыть различные методы или методы Проверьте, существует ли данный ключ в словаре Python или нет.
Вступление
Во многих случаях нам может потребоваться проверить наличие ключа в словаре перед добавлением, доступом или изменением, чтобы избежать ошибки.
Так без дальнейшего ADO, давайте начнем.
Способы проверить, существует ли ключ
Ниже мы упомянули пять (5) из наиболее распространенных и легких техник для достижения задачи.
- Использование попробуйте, кроме Блок кода,
- «В» оператор ,
- Получить () Метод,
- Клавиши () Метод,
- метод has_key ().
Теперь мы собираемся пройти каждый из них один за другим.
1. Использование блока TRY – кроме блока
А KeyError Поднят, когда ключ, который мы доступны, не принадлежат к множеству существующих ключей словаря. Мы можем использовать этот факт, чтобы проверить ошибку (используя Обработка исключений ) для проверки, если ключ уже существует в словаре.
Таким образом, в приведенном ниже примере кода мы использовали попробуйте, кроме Кодовой блок, чтобы попробовать доступ к нашему словарю элементу с данным ключом. Если ключ существует, исключение не будет повышено, а часть остальной части будет выполнена. Тогда как если KeyError встречается, мы можем четко сделать вывод, что ключ не существует.
#Dictionary Initialisation
My_Dict = {'Joy':78, 'John':96, 'Kyler':65, 'Sona':85}
My_key = input("Enter the key to be searched: ")
try:
My_Dict[My_key]
except KeyError:
print("Key doesn't exist!")
else:
print("Key present!")
Выход:
Enter the key to be searched: Kyler Key present!
Вот с «Кайлер» это ключ, который уже существует в словаре My_dict , KeyError не поднимается. И, следовательно, мы получаем наш желаемый выход.
2. Использование оператора ‘in’
Python в Оператор используется для проверки того, присутствует ли элемент в последовательности или нет. Синтаксис для использования той же дается ниже.
given_key in given_dictionary
Здесь приведенный выше фрагмент кода оценивает Правда Если dreen_key присутствует в последовательности (для этой статьи словарь) denect_dictionary Отказ Или еще в Ложь Если это не так.
Посмотрите на пример, приведенный ниже. Это иллюстрирует использование в Оператор в словаре идеально.
#Dictionary Initialisation
My_Dict = {'Joy':78, 'John':96, 'Kyler':65, 'Sona':85}
My_key = input("Enter the key to be searched: ")
if My_key in My_Dict:
print("Found!")
else:
print("Not Found!")
Выход:
Enter the key to be searched: Joy Found!
3. Использование метода GET ()
Получить () Метод в Python возвращает значение для данного ключа, если он находится в словаре, на котором применяется метод. Если ключ не существует, возвращается установленный пользователем по умолчанию.
get(key[, default])
Здесь ключ это ключевое имя, которое мы ищем.
Посмотрите на фрагмент ниже данного кода.
#Dictionary Initialisation
My_Dict = {'Joy':78, 'John':96, 'Kyler':65, 'Sona':85}
My_key = input("Enter the key to be searched: ")
if My_Dict.get(My_key):
print("Found!")
else:
print("Not Found!")
Выход:
Enter the key to be searched: John Found!
С вышеуказанного выхода ясно, что "Джон" уже присутствует в словаре My_dict Отказ
4. Использование клавиш () метода
Словарь Python Клавиши () Метод возвращает новый вид на ключи словаря. Следовательно, мы можем использовать этот метод, чтобы проверить, существует ли ключ в словаре Python, используя комбинацию этого метода и в оператор.
Вот пример ниже для лучшего понимания.
#Dictionary Initialisation
My_Dict = {'Joy':78, 'John':96, 'Kyler':65, 'Sona':85}
My_key = input("Enter the key to be searched: ")
if My_key in My_Dict.keys():
print("Found!")
else:
print("Not Found!")
Выход:
Enter the key to be searched: Sneh Not Found!
Поскольку данный ключ в этом случае не принадлежит набору ключей, присутствующих внутри словаря, мы получаем отрицательный результат.
5. Использование метода HAS_KEY ()
has_key () Метод был опущен в Python 3.x Версии и, следовательно, могут быть использованы только в более старых версиях.
Поэтому для более старых версий мы можем использовать этот метод, чтобы проверить, существует ли ключ в словаре Python. Метод возвращает Правда Если пропущенный ключ существует в словаре. Или остальное, возвращает Ложь Отказ Посмотрите на пример ниже.
#Dictionary Initialisation
My_Dict = {'Joy':78, 'John':96, 'Kyler':65, 'Sona':85}
My_key = "Sona"
print(My_Dict.has_key(My_key)) #bool result
if My_Dict.has_key(My_key):
print("Found!")
else:
print("Not Found!")
Выход:
True Found!
Здесь мы видим, что метод возвращает Правда Так как данный ключ (« Sona ») существует.
Суммирование
Вот и это на сегодня. В этом руководстве мы обсудили различные методы проверки, существует ли данный ключ в словаре или нет. Надеюсь, у вас было четкое понимание.
Мы рекомендуем пройти через наш учебник Python для получения дополнительной информации.
Для любых дополнительных вопросов не стесняйтесь использовать комментарии ниже.
Рекомендации
- Словари в Python ,
- Словарь – Официальная документация,
- Учебное пособие по словарю Python – Аскаппин пост,
- Должен ли я использовать «HAS_KEY ()» или «в» на Python Dicts? – Вопрос переполнения стека.