这个问题已经在这里有一个答案:
- 如何从一个列表,而迭代删除项目? 25个回答
在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接口。