In Java I can do by using an Iterator and then using the .remove() method of the iterator to remove the last element returned by the iterator, like this:
import java.util.*;
public class ConcurrentMod {
    public static void main(String[] args) {
        List<String> colors = new ArrayList<String>(Arrays.asList("red", "green", "blue", "purple"));
        for (Iterator<String> it = colors.iterator(); it.hasNext(); ) {
            String color = it.next();
            System.out.println(color);
            if (color.equals("green"))
                it.remove();
        }
        System.out.println("At the end, colors = " + colors);
    }
}
/* Outputs:
red
green
blue
purple
At the end, colors = [red, blue, purple]
*/
How would I do this in Python? I can't modify the list while I iterate over it in a for loop because it causes stuff to be skipped (see here). And there doesn't seem to be an equivalent of the Iterator interface of Java.
 
     
     
     
     
    