В Java я могу сделать, используя Iterator
, а затем используя .remove()
, чтобы удалить последний элемент, возвращаемый итератором, например:
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]
*/
Как мне это сделать в Python? Я не могу изменить список, пока я перебираю его в цикле for, потому что он заставляет материал пропускаться (см. здесь). И, похоже, не существует эквивалента интерфейса Iterator
Java.