Search Results

Search found 1 results on 1 pages for 'izkata'.

Page 1/1 | 1 

  • Removing an element not currently in a list: ValueError?

    - by Izkata
    This is something that's bothered me for a while, and I can't figure out why anyone would ever want the language to act like this: In [1]: foo = [1, 2, 3] In [2]: foo.remove(2) ; foo # okay Out[2]: [1, 3] In [3]: foo.remove(4) ; foo # not okay? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /home/izkata/<ipython console> in <module>() ValueError: list.remove(x): x not in list If the value is already not in the list, then I'd expect a silent success. Goal already achieved. Is there any real reason this was done this way? It forces awkward code that should be much shorter: for item in items_to_remove: try: thingamabob.remove(item) except ValueError: pass Instead of simply: for item in items_to_remove: thingamabob.remove(item) As an aside, no, I can't just use set(thingamabob).difference(items_to_remove) because I do have to retain both order and duplicates.

    Read the article

1