zoukankan      html  css  js  c++  java
  • python利用difflib判断两个字符串的相似度

    我们再工作中可能会遇到需要判断两个字符串有多少相似度的情况(比如抓取页面内容存入数据库,如果相似度大于70%则判定为同一片文章,则不录入数据库)

    那这个时候,我们应该怎么判断呢?

    不要着急,python自带的difflib库就可以帮助我们解决这个问题。

    首先,difflib是python自带的,所以不需要安装,直接引用即可。

    活不多少,直接上代码

      代码如下:

      

    import difflib
    
    #判断相似度的方法,用到了difflib库
    def get_equal_rate_1(str1, str2):
       return difflib.SequenceMatcher(None, str1, str2).quick_ratio()
    
    #执行方法进行验证
    if __name__ == '__main__':
       a = '任正非称,对华为不会出现“断供”这种极端情况,我们已经做好准备了。任正非称,今年春节时,我们判断出现这种情况是2年以后。
       我还有两年时间去足够足够准备了。孟晚舟事件时我们认为这个时间提前了,我们春节都在加班。保安、清洁工、服务人员,春节期间有5000人
       都在加班,加倍工资都在供应我们的战士战斗,大家都在抢时间。(新浪科技)'
       b = ' 任正非称,对华为不会出现“断供”这种极端情况,我们已经做好准备了。任正非称,今年春节时,我们判断出现这种情况是2年以后。
       我还有两年时间去足够足够准备了。孟晚舟事件时我们认为这个时间提前了,我们春节都在加班。保安、清洁工、服务人员,春节期间有5000人
       都在加班,加倍工资都在供应我们的战士战斗,大家都在抢时间。'
       print(get_equal_rate_1(a, b))

      结果为:

      可以看到,这两个字符串的形似度为0.978... ...很明显是同一片文章。

      通过difflib库,我们就完成了两个字符串相似度的计算,哈哈,简单吧!

      希望能帮到需要的人。

  • 相关阅读:
    Codeforces Round #604(Div. 2,
    简单的三层框架以及使用dbutils进行数据库操作(入门)
    DBUtil数据库工具封装
    GUI 中监听 文本框实时改变的实例
    java基础教程GUI
    Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合
    计算器代码
    记事本应用程序java源代码
    GUI
    dbutils开源项目用法
  • 原文地址:https://www.cnblogs.com/573734817pc/p/10900379.html
Copyright © 2011-2022 走看看