who18
咸水秋刀鱼
采纳率100%
2017-08-02 09:55 阅读 1.1k
已结题

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

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

  • 点赞
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    Runner__1 T_world 2017-08-02 10:36

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

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2017-08-02 10:04

    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]
    
    点赞 3 评论 复制链接分享

相关推荐