python利用difflib判斷兩個字符串的類似度

咱們再工做中可能會遇到須要判斷兩個字符串有多少類似度的狀況(好比抓取頁面內容存入數據庫,若是類似度大於70%則斷定爲同一片文章,則不錄入數據庫)python

那這個時候,咱們應該怎麼判斷呢?數據庫

不要着急,python自帶的difflib庫就能夠幫助咱們解決這個問題。ui

首先,difflib是python自帶的,因此不須要安裝,直接引用便可。spa

活很少少,直接上代碼3d

  代碼以下:code

  

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))

 

  結果爲:blog

  能夠看到,這兩個字符串的形似度爲0.978... ...很明顯是同一片文章。事件

  經過difflib庫,咱們就完成了兩個字符串類似度的計算,哈哈,簡單吧!字符串

  但願能幫到須要的人。get

相關文章
相關標籤/搜索