av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

已知一個(gè)元素,在一個(gè)list中找出相似的元素

使用場景:

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

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

隨便舉例:

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

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

從其它的數(shù)據(jù)來源得到一個(gè)城區(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ū)’]# 測試關(guān)鍵字改為市區(qū),且要求返回相似度最高的兩個(gè)元素In [5]: a = difflib.get_close_matches(’市區(qū)’,cityarea_list,2, cutoff=0.7)In [6]: aOut[6]: [’市南區(qū)’, ’市北區(qū)’]# 測試關(guān)鍵字改為市區(qū), 要求返回相似度最高的一個(gè)元素In [7]: a = difflib.get_close_matches(’市區(qū)’,cityarea_list,1, cutoff=0.7)In [8]: aOut[8]: [’市南區(qū)’]

詳解:

difflib是python 自帶的一個(gè)方法

返回的結(jié)果是個(gè)list

返回的list元素?cái)?shù)量是可控的,

cutoff參數(shù)是0到1的浮點(diǎn)數(shù), 可以調(diào)試模糊匹配的精度,一般為0.6就可以了, 1為精確匹配,

補(bǔ)充拓展:python列表進(jìn)行模糊查詢

先看一下代碼

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

需要注意的是這個(gè)方法只適合與都是字符串的,因?yàn)閒ind是字符串重的方法, 如果list中有數(shù)字和None,都是不行的

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

標(biāo)簽: Python 編程
主站蜘蛛池模板: 国产视频a| 日韩黄色录像 | 麻豆精品一区 | 欧美又大又硬又粗bbbbb | 中文字幕免费在线 | 亚洲精品xxx | 国产3p视频 | 激情综合网站 | 伊人av网| 色天堂影院 | 成人高清| 国产91在线播放 | 国产51自产区 | 色网站女女| 97久久久久 | 久久精品久久久久 | 五月天激情影院 | 亚洲欧洲综合 | 午夜免费小视频 | 亚洲免费观看 | 成人特级毛片 | 日韩第一区 | 精品久久久久久久 | 亚洲精品久久久久久久久久久 | 无遮挡在线观看 | 精品久久久久久久久久久久久久久久 | 欧美精品一区在线 | 自拍偷拍欧美日韩 | 日韩一级免费 | 日本视频免费 | 久久久久久国产精品 | 99国产视频 | 亚州av在线 | 欧美日韩在线免费观看 | 欧美在线观看一区二区三区 | 国产三级在线免费观看 | 免费av网址在线观看 | av免费不卡 | 首尔之春在线看 | 国产免费一区二区三区在线观看 | 日韩一级在线 |