Чтобы удалить элемент из словаря в 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 из словаря завершен.