Python – How to ignore ValueError when I try to remove an element from a list


How can I ignore the "not in list" error message if I call a.remove(x) when x is not present in list a?

This is my situation:

>>> a = range(10)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a.remove(10)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>> a.remove(9)

Best Solution

A good and thread-safe way to do this is to just try it and ignore the exception:

except ValueError:
    pass  # do nothing!