我們再工作中可能會遇到需要判斷兩個字符串有多少相似度的情況(比如抓取頁面內容存入數據庫,如果相似度大於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庫,我們就完成了兩個字符串相似度的計算,哈哈,簡單吧!
希望能幫到需要的人。