Sentry Answers>Python>

Delete a list element by value in Python

Delete a list element by value in Python

David Y.

The Problem

In Python, how can I delete a list item by its value rather than its position?

The Solution

Python’s list.remove method provides this functionality. Given a value, it will search for that value in the list and delete the first instance it finds. If the supplied value is not found in the list, it raises a ValueException error. For example:

Click to Copy
mylist = ['a', 'b', 'c', 'c', 'd'] mylist.remove('c') # will remove the first 'c' print(mylist) # will print ['a', 'b', 'c', 'd'] mylist.remove('c') # will remove the remaining 'c' print(mylist) # will print ['a', 'b', 'd'] try: mylist.remove('e') # will throw an exception except ValueError: print('Element to delete not found in list')

If you would like to remove all elements with a given value from a list, not just the first one, you can do this efficiently by rebuilding the list without those elements in a list comprehension:

Click to Copy
mylist = ['a', 'b', 'c', 'c', 'd'] mylist = [item for item in mylist if item != 'c'] # rebuild the list without 'c's print(mylist) # will print ['a', 'b', 'd']
  • Sentry BlogPython Performance Testing: A Comprehensive Guide (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Sentry BlogLogging in Python: A Developer’s Guide (opens in a new tab)
  • CodecovPython - Codecov (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,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.