Sentry Answers>Python>

Delete a list element by value in Python

Delete a list element by value in Python

David Y.

The ProblemJump To Solution

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
  • Sentry BlogLogging in Python: A Developer’s Guide
  • Syntax.fm logo
    Listen to the Syntax Podcast

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

    SEE EPISODES

Loved by over 4 million developers and more than 100,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.

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