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庫,我們就完成了兩個字符串相似度的計算,哈哈,簡單吧!

  希望能幫到需要的人。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM