久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:2日期:2022-08-05 09:28:15

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

使用場景:

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

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

隨便舉例:

按青島城市的城區(qū)來說,

我數(shù)據(jù)庫中存儲的城區(qū)是個list:[’市北區(qū)’, ’市南區(qū)’, ’萊州市’, ’四方區(qū)’]等

從其它的數(shù)據(jù)來源得到一個城區(qū)是:市北

我怎么得到與市北相似相近的市北區(qū)

解決方案:

In [1]: import difflibIn [2]: cityarea_list = [’市北區(qū)’, ’市南區(qū)’, ’萊州市’, ’四方區(qū)’]# 正常情況下,我是這么用的In [3]: a = difflib.get_close_matches(’市北’,cityarea_list,1, cutoff=0.7)In [4]: aOut[4]: [’市北區(qū)’]# 測試關鍵字改為市區(qū),且要求返回相似度最高的兩個元素In [5]: a = difflib.get_close_matches(’市區(qū)’,cityarea_list,2, cutoff=0.7)In [6]: aOut[6]: [’市南區(qū)’, ’市北區(qū)’]# 測試關鍵字改為市區(qū), 要求返回相似度最高的一個元素In [7]: a = difflib.get_close_matches(’市區(qū)’,cityarea_list,1, cutoff=0.7)In [8]: aOut[8]: [’市南區(qū)’]

詳解:

difflib是python 自帶的一個方法

返回的結果是個list

返回的list元素數(shù)量是可控的,

cutoff參數(shù)是0到1的浮點數(shù), 可以調試模糊匹配的精度,一般為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中有數(shù)字和None,都是不行的

以上這篇python 已知一個字符,在一個list中找出近似值或相似值實現(xiàn)模糊匹配就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
主站蜘蛛池模板: 肥乡县| 亳州市| 朝阳市| 河津市| 千阳县| 克什克腾旗| 锡林浩特市| 天门市| 常宁市| 黎平县| 江永县| 监利县| 文水县| 错那县| 沙田区| 井冈山市| 榆林市| 四子王旗| 安徽省| 周口市| 永安市| 南昌市| 宜兴市| 彭州市| 元江| 云梦县| 汕头市| 达日县| 嘉禾县| 重庆市| 蚌埠市| 玉溪市| 基隆市| 漳州市| 大理市| 湄潭县| 河池市| 乳山市| 左权县| 沾益县| 台前县|