remove方法缺陷补全:续《列表数据清洗遇到问题的记录——set用法和remove方法的缺陷》

remove方法缺陷补全:续《列表数据清洗遇到问题的记录——set用法和remove方法的缺陷》

一、问题

remove方法缺陷:需要删除的内容没有办法完全删除
现象:见上一篇文章《列表数据清洗遇到问题的记录——set用法和remove方法的缺陷》,链接: link.

上一次的可以通过set进行重复值剔除,但是此次不是重复值剔除,不能运用set方法,出现了剔除不干净

这次是我在进行jieba分词的停用词处理时遇到的问题,不能用set方法的重复值剔除。
如下,停用词中加入了“本院”,

在这里插入图片描述

希望进行该词的剔除,
原始代码(部分):

        for value in lst_words:
        #print(lst_words)
        if value in stop_word:
            lst_words.remove(value)

下图为没有进行删除前的“本院”的数量,大致12个
在这里插入图片描述
下图为进行删除的“本院”的剩余数量为3个

在这里插入图片描述

“本院”数量由12个变成了3个,可见remove方法进行了该词的清除,但是没有清除干净。
一开始没有发现是remove方法的问题,认为可能是某些“本院”这个词语的格式有些不对,比如多了空格之类的,找了半天,发现没有问题,这是才想到了可能是remove的问题

二、解决方法

解决方法非常简单,但是在上一篇用时没有想到。既然一次清不干净就多清几次,使用for循环

        for i in range(3):
        for value in lst_words:
        #print(lst_words)
            if value in stop_word:
                lst_words.remove(value)
            #本院没有完全去掉,是否是remove导致的
                index += 1
            else:
                pass	

尝试完全清楚大约要三次,for循环就来了四次,怕其他数据清洗时存在问题

之后就清理干净了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值