python初学者列表删除操作的疑问

图片说明
如图为什么会这样,他没说为什么没有全部移除符合条件的元素?
我字典操作统计词频的时候删除不想统计的连词、代词、介词的时候也出现这样不能完全删除的情况?
谢谢,求教,问题出现在哪里呢?

这个好像是foreach遍历方式的通病吧,主要是由于删除一个元素的时候会影响整个集合的下标,所以会存在遍历的当前指针一个位置的错位,使用你说的变通方法就不错

python中一般用列表推导的方式

 >>> a = [1, 2, 3, 4, 2, 3, 4, 2, 7, 2]
>>> a = [x for x in a if x != 2]
>>> print a
[1, 3, 4, 3, 4, 7]