91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何使用比較文本相似性的方法difflib和Levenshtein

發布時間:2021-08-12 13:39:38 來源:億速云 閱讀:191 作者:小新 欄目:開發技術

這篇文章主要介紹Python如何使用比較文本相似性的方法difflib和Levenshtein,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

最近工作需要用到序列匹配,檢測相似性,不過有點復雜的是輸入長度是不固定的,舉例為:

input_and_output = [1, 2, '你好', 世界', 12.34, 45.6, -21, '中國', '美麗']

其中,需要從input_and_output 中選取不固定長度的一段作為輸入,且順序不定,然后去與總體進行比較,找出最符合的,開始是對漢字進行數值化編碼,不過后來由于出現漢字越來越多,遂放棄該方法,轉向別的方式,查找資料發現了兩個python包廣被推薦,從下面來看各有優缺點,記錄之~

1、difflib

import difflib #python 自帶庫,不需額外安裝

In [49]: test1
Out[49]: ['你好', '我是誰']

In [50]: test2
Out[50]: ['你好啊', '我誰']

In [51]: test3
Out[51]: [12, 'nihao']

In [52]: test4
Out[52]: ['你好', 'woshi']

In [53]: difflib.SequenceMatcher(a=test1, b=test2).quick_ratio()
Out[53]: 0.0

In [54]: difflib.SequenceMatcher(a=test1, b=test4).ratio()
Out[54]: 0.5

2、Levenshtein

#pip install python-Levenshtein

import Levenshtein


In [56]: Levenshtein.distance(','.join(test1), ','.join(test2))
Out[56]: 2

In [57]: Levenshtein.distance(','.join(test1), ','.join(test4))
Out[57]: 5

簡單來說,difflib使用時不一定為字符串,但匹配時只有單個元素完全匹配才計入,

而Levenshtein則需要輸入為字符串,匹配時是整體匹配

以上是“Python如何使用比較文本相似性的方法difflib和Levenshtein”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柞水县| 都兰县| 郧西县| 崇文区| 鹿泉市| 图木舒克市| 黄陵县| 分宜县| 东辽县| 九寨沟县| 含山县| 西安市| 淅川县| 泸溪县| 通化县| 汶川县| 宽甸| 井陉县| 青冈县| 桐柏县| 垦利县| 开江县| 双柏县| 崇信县| 富民县| 秭归县| 江阴市| 长治市| 顺义区| 宝鸡市| 简阳市| 黎川县| 永宁县| 应城市| 科技| 仁寿县| 盖州市| 黎平县| 睢宁县| 江永县| 阿克苏市|