В python словари — это контейнеры, которые отображают один ключ на его значение со сложностью времени доступа, равной O (1) . Но во многих приложениях пользователь не знает всех ключей, присутствующих в словарях. В таких случаях, если пользователь пытается получить доступ к отсутствующему ключу, появляется ошибка, указывающая на отсутствующие ключи .
|
Ошибка :
Traceback (most recent call last): File "46a9aac96614587f5b794e451a8f4f5f.py", line 9, in print (d['c']) KeyError: 'c'
В приведенном выше примере ни один ключ с именем «c» в словаре не выдал ошибку времени выполнения. Чтобы избежать таких условий и предупредить пользователя об отсутствии определенного ключа или отправить сообщение по умолчанию в это место, существует несколько способов обработки пропущенных ключей.
Способ 1: использование get ()
Метод get (key, def_val) полезен, когда нам нужно проверить ключ. Если ключ присутствует, печатается значение, связанное с ключом, иначе возвращается значение def_value, переданное в аргументах.
Способ 2: использование setdefault ()
setdefault (key, def_value) работает аналогично get (), но отличие состоит в том, что каждый раз, когда ключ отсутствует, создается новый ключ с def_value, связанным с ключом, передаваемым в аргументах.
Для реализации вышеуказанных функций, нажмите здесь .
Способ 3: использование defaultdict
« Defaultdict » — это контейнер, который определен в модуле с именем « collection ». Он принимает функцию (фабрика по умолчанию) в качестве аргумента . По умолчанию заводская установка по умолчанию установлена на «int», то есть 0 . Если ключ отсутствует — defaultdict, возвращается и отображается заводское значение по умолчанию . Он имеет преимущества перед get () или setdefault ().
- Значение по умолчанию устанавливается в объявлении . Нет необходимости снова и снова вызывать функцию и передавать аналогичные значения в качестве аргументов. Отсюда экономия времени .
- Реализация defaultdict быстрее, чем get () или setdefault ().
|
Выход :
The value associated with 'a' is : 1 The value associated with 'c' is : Key Not found
Эта статья предоставлена Манджитом Сингхом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Python | Пересечь два словаря через ключи
- Python | Разница в ключах двух словарей
- Python | Вычитание словарей
- Метод Get () для словарей в Python
- Python | Сводный список словарей с одинаковым ключом
- Python | Слияние двух словарей
- Python | Объедините значения двух словарей, имеющих одинаковый ключ
- Python | Разделение значения ключа в списке словарей
- Python | Получить значения определенного ключа в списке словарей
- Python | Общие предметы среди словарей
- Python | Объединение двух списков словарей
- Python | Свести приведенный список словарей
- Python | Задать разницу в списке словарей
- Python | Сортировать данный список словарей по дате
- Python | Инициализировать список с пустыми словарями
0.00 (0%) 0 votes