Python: пример удаления элемента из словаря

Чтобы удалить элемент из словаря в Python, вы можете использовать метод Python dict.pop () или оператор del для удаления ключа. В этой статье мы обсудим различные способы удаления ключа из словаря в Python.

Python удалить элемент из словаря

Словарь Python используется в различных практических приложениях, таких как ежедневное программирование, веб-разработка и программирование AI/ML, а также в приложениях для обработки данных, что делает его полезным контейнером в целом.

Удалите ключ из словаря с помощью ключевого слова del

Python del , которое можно использовать для удаления ключа, который присутствует в словаре. Один из недостатков, который можно подумать об использовании этого, заключается в том, что он вызывает исключение, если ключ не найден, и, следовательно, его отсутствие должно быть обработано.

Синтаксис Python del () следующий.

 del d [key] 

Оператор del удаляет данный элемент из словаря. Если данный ключ отсутствует в словаре, он выдаст KeyError.

См. Следующий код.

 # app.pynetflix_dict = {"Stranger Things": 11, "You": 3, "BoJack Horseman": 21} # Печать словаря перед удалением print ("Словарь перед выполнением удаления:"  + str (netflix_dict)) # Использование del для удаления dict # удаляет You del netflix_dict ['You'] # Печать словаря после удаления print ("Словарь после удаления:" + str (netflix_dict)) 

Вывод

 python3 app.py Словарь перед выполнением удаления: {'Staranger Things': 11, 'You': 3, 'BoJack Horseman'  : 21} Словарь после удаления: {'Staranger Things': 11, 'BoJack Horseman': 21} 

В приведенной выше программе мы удалили элемент с ключом «Вы» с помощью оператора del .

Давайте посмотрим на другой сценарий, когда ключ не существует в словаре, а затем попытаемся удалить ve the element.

 # app.pynetflix_dict = {"Stranger Things": 11, "You": 3, "BoJack Horseman": 21} # Печать словаря перед удалением print ("Словарь до  выполнение удаления: "+ str (netflix_dict)) # Использование del для удаления dict # попытка удалить Black Mirror del netflix_dict ['Black Mirror'] # Печать словаря после удаления print (" Словарь после удаления: "+ str (  netflix_dict)) 

Вывод

 python3 app.py Словарь перед выполнением удаления: {'Staranger Things': 11, '  You ': 3,' BoJack Horseman ': 21} Traceback (последний звонок последним): File "app. py ", строка 8, в  del netflix_dict ['Black Mirror'] KeyError: 'Black Mirror' 

Итак, мы получили KeyError из-за ключ «Черное зеркало» , которого нет в словаре.

Удаление ключа из словаря с помощью del и try/except

Мы можем использовать обработку механизма try/except, если ключ не найден, тогда мы перехватываем исключение и показать пользователю правильную ошибку.

См. следующий код.

 # app.pynetflix_dict = {"Stranger Things": 11, "You": 3  , "BoJack Horseman": 21} # Печать словаря перед удалением print ("Словарь перед выполнением удаления:" + str (netflix_dict)) try: del netflix_dict ['Black Mirror'] except KeyError: print ("Key 'Black Mirror  'not found ") # Печать словаря после удаления print (" Словарь после удаления: "+ str (netflix_dict)) 

Вывод

 python3 app.py Словарь перед per  формирование удаления: {'Staranger Things': 11, 'You': 3, 'BoJack Horseman': 21} Ключ 'Black Mirror' не найден. Словарь после удаления: {'Staranger Things': 11, 'You': 3  , 'BoJack Horseman': 21} 

В приведенном выше коде мы написали код del внутри блока try , и если ключ не найден, то он генерирует исключение, и мы исключаем это исключение и отображаем правильную ошибку для пользователя.

Следует отметить, что выполнение программы не прекращалось; он продолжается.

Удалите ключ из словаря с помощью dict.pop ()

Если ключ существует в словаре, тогда dict.pop () удаляет элемент с заданным ключом из словаря и возвращает его значение.

Если данный ключ не существует в словаре, он возвращает заданное значение по умолчанию.

Если данный ключ не существует в словаре и В pop () не передается значение по умолчанию, тогда он вызывает ошибку KeyError.

См. Следующий код.

 # app.pynetflix_dict = {"Stranger Things":  11, "You": 3, "BoJack Horseman": 21} # Печать словаря перед удалением print ("Словарь перед выполнением удаления:" + str (netflix_dict)) # Использование метода dict.pop () для удаления dict #  удаляет вас netflix_dict.pop ('You') # Печать словаря после удаления print ("Словарь после удаления:" + str (netflix_dict)) 

Вывод

 python3 app.py Словарь перед выполнением удаления: {'Stranger Things': 11, 'You': 3, 'BoJack Horseman': 21} Словарь после удаления: {'Stranger Things  ': 11,' BoJack Horseman ': 21} 

В приведенном выше коде мы передали You в качестве ключевого параметра для удаления этого элемента. мент из словаря.

Давайте удалим элемент, которого нет в словаре, с помощью pop ().

 # app.pynetflix_dict = {"Stranger Things": 11, "You"  : 3, "BoJack Horseman": 21} # Печать словаря перед удалением print ("Словарь перед выполнением удаления:" + str (netflix_dict)) # Использование метода dict.pop () для удаления dict # удаляет вас netflix_dict.pop  ('Black Mirror') # Печать словаря после удаления print ("Словарь после удаления:" + str (netflix_dict)) 

Вывод

 python3 app.py Словарь перед выполнением удаления: {'Stranger Things': 11, 'You': 3, 'BoJack Horseman': 21} Traceback (последний вызов последним): файл "app.py"  , строка 8, в  netflix_dict.pop ('Black Mirror') KeyError: 'Black Mirror' 

Итак, как и ожидалось, выдает ошибку KeyError.

Теперь давайте передадим значение по умолчанию в аргумент функции dict.pop () и посмотрим на результат.

 # app.pynetflix_dict = {"Stranger Things": 11, "You": 3,  "Боджек Лошадь"  man ": 21} # Печать словаря перед удалениемprint (" Словарь перед выполнением удаления: "+ str (netflix_dict)) # Использование метода dict.pop () для удаления dict # удаляет Youremoved_item = netflix_dict.pop ('Black Mirror'  , 'Not found') # Печать словаря после удаленияprint (deleted_item) 

Output

 python3 app.py Словарь перед выполнением удаления  это: {'Stranger Things': 11, 'You': 3, 'BoJack Horseman': 21} Not found 

В приведенном выше коде мы передали значение по умолчанию: « Не найдено ». Таким образом, возвращаемое значение из функции dict.pop () будет ‘Not found’.

Удаление ключа из словаря с помощью pop ( ) и попробуйте/except

Давайте воспользуемся механизмом try/except для обработки исключения.

 # app.pynetflix_dict = {"Stranger Things": 11  , "You": 3, "BoJack Horseman": 21} # Печать словаря перед удалениемprint ("Словарь перед выполнением удаления:" + str (netflix_dict)) # Использование метода dict.pop () для удаления dict # удаление Youtry  : remove_item = netflix_dict.pop ('Black Mirror', 'Not found') except KeyError: print ("Ключ 'Black Mirror' не найден") # Печать словаря после удаленияprint (deleted_item) 

Вывод

 python3 app.py Словарь перед выполнением удаления: {'Stranger Things': 11, 'You': 3, 'BoJack Horseman': 21} Не  найдено 

Заключение

Мы можем удалить элементы словаря или ключи в Python, используя разные подходы, такие как использование оператора del или использования dict.pop ().

Наконец, пример удаления элемента Python из словаря завершен.

Оцените статью
nanomode.ru
Добавить комментарий