I'm iterating over a list of tuples in Python, and am attempting to remove them if they meet certain criteria.
for tup in somelist:
if determine(tup):
code_to_remove_tup
What should I use in place of code_to_remove_tup
? I can't figure out how to remove the item in this fashion.
Best Answer
You can use a list comprehension to create a new list containing only the elements you don't want to remove:
Or, by assigning to the slice
somelist[:]
, you can mutate the existing list to contain only the items you want:This approach could be useful if there are other references to
somelist
that need to reflect the changes.Instead of a comprehension, you could also use
itertools
. In Python 2:Or in Python 3: