Delete element from a dictionary in Python

David Y.

The Problem

How do I delete an element from a dictionary in Python?

The Solution

To delete an element from a dictionary, we can use the del keyword. For example:

products = {"apples": 1, "oranges": 3, "pears": 2} print(products) # will print the dictionary defined above del products["oranges"] print(products) # will print { "apples": 1, "pears": 2 }

We can also do this with the dict.pop method. The main difference between this and del is that dict.pop will return the value of the removed dictionary element.

products = {"apples": 1, "oranges": 3, "pears": 2} print(products) # will print the dictionary defined above print(products.pop("oranges")) # will print 3 print(products) # will print { "apples": 1, "pears": 2 }

Both of these methods will mutate the existing dictionary. If we instead want to create a copy of the dictionary with one element removed, we must first make a copy:

products = {"apples": 1, "oranges": 3, "pears": 2} print(products) # will print the dictionary defined above products_copy = dict(products) del products_copy["oranges"] print(products) # will print the dictionary defined above print(products_copy) # will print { "apples": 1, "pears": 2 }

Note that this will only make a shallow copy of the dictionary. For simple dictionaries like the one in the example, this is sufficient. However, if our dictionary contains lists, dictionaries, or custom class instances, copying it in this way will not make copies of those inner objects. Instead, our copy will contain references to the objects inside the original dictionary. To avoid this and create a deep copy of our dictionary, we need to use the deepcopy() function from Python’s built-in copy module.

import copy products = {"apples": [1, 2, 3], "oranges": [3, 2, 1], "pears": [2, 1, 3]} print(products) # will print the dictionary defined above products_copy = copy.deepcopy(products) del products_copy["oranges"] print(products) # will print the dictionary defined above print(products_copy) # will print { "apples": [1, 2, 3], "pears": [2, 1, 3] }

Get Started With Sentry

Get actionable, code-level insights to resolve Python performance bottlenecks and errors.

  1. Create a free Sentry account

  2. Create a Python project and note your DSN

  3. Grab the Sentry Python SDK

pip install --upgrade sentry-sdk
  1. Configure your DSN
import sentry_sdk sentry_sdk.init( "https://<key>@sentry.io/<project>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for performance monitoring. # We recommend adjusting this value in production. traces_sample_rate=1.0, )

Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.