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

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • python 已知一個字符,在一個list中找出近似值或相似值實現模糊匹配

python 已知一個字符,在一個list中找出近似值或相似值實現模糊匹配

發布時間:2020-10-01 12:37:19 來源:腳本之家 閱讀:246 作者:諸葛老劉 欄目:開發技術

已知一個元素,在一個list中找出相似的元素

使用場景:

已知一個其它來源的字符串, 它有可能是不完全與我數據庫中相應的字符串匹配的,因此,我需要將其轉為適合我數據庫中的字符串

使用場景太繞了, 直接舉例來說吧

隨便舉例:

按青島城市的城區來說,

我數據庫中存儲的城區是個list:['市北區', '市南區', '萊州市', '四方區']等

從其它的數據來源得到一個城區是:市北

我怎么得到與市北相似相近的市北區

解決方案:

In [1]: import difflib

In [2]: cityarea_list = ['市北區', '市南區', '萊州市', '四方區']
# 正常情況下,我是這么用的
In [3]: a = difflib.get_close_matches('市北',cityarea_list,1, cutoff=0.7)

In [4]: a
Out[4]: ['市北區']
# 測試關鍵字改為市區,且要求返回相似度最高的兩個元素
In [5]: a = difflib.get_close_matches('市區',cityarea_list,2, cutoff=0.7)

In [6]: a
Out[6]: ['市南區', '市北區']
# 測試關鍵字改為市區, 要求返回相似度最高的一個元素
In [7]: a = difflib.get_close_matches('市區',cityarea_list,1, cutoff=0.7)

In [8]: a
Out[8]: ['市南區']

詳解:

difflib是python 自帶的一個方法

返回的結果是個list

返回的list元素數量是可控的,

cutoff參數是0到1的浮點數, 可以調試模糊匹配的精度,一般為0.6就可以了, 1為精確匹配,

補充拓展:python列表進行模糊查詢

先看一下代碼

a=['時間1', '時間2', '時間3', 'ab','asds']
dd = [i for i,x in enumerate(a) if x.find('s')!=-1]
print(dd)

需要注意的是這個方法只適合與都是字符串的,因為find是字符串重的方法, 如果list中有數字和None,都是不行的

以上這篇python 已知一個字符,在一個list中找出近似值或相似值實現模糊匹配就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

和龙市| 商丘市| 资兴市| 通海县| 延川县| 尖扎县| 弋阳县| 新民市| 温宿县| 赫章县| 镇江市| 威信县| 翼城县| 衡阳县| 栾城县| 南川市| 榆社县| 九龙坡区| 阿克| 镶黄旗| 林甸县| 柘荣县| 通渭县| 普兰县| 疏勒县| 商洛市| 调兵山市| 修水县| 钦州市| 从化市| 泰和县| 南城县| 阿巴嘎旗| 东明县| 固阳县| 新疆| 雷州市| 上杭县| 阿克苏市| 沁阳市| 曲靖市|