栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

什么是Python中的简单模糊字符串匹配算法?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是Python中的简单模糊字符串匹配算法?

我喜欢德鲁的答案。

如果您要做的只是测试一个字符串中的所有单词是否都与另一个字符串匹配,那就是一个衬里:

if not [word for word in b.split(' ') if word not in a.split(' ')]:    print 'Match!'

如果您想对它们进行评分而不是对二进制测试进行评分,为什么不这样做:

(((匹配单词的数量)/(大字符串中的单词数量))*((小字符串中的单词数量)/(大字符串中的单词数量))

如果愿意,您可以更轻松地对每个字符串进行模糊匹配。

您可以使用difflib查找最长的匹配项:

>>> a = 'The quick brown fox.'>>> b = 'The quick brown fox jumped over the lazy dog.'>>> import difflib>>> s = difflib.SequenceMatcher(None, a, b)>>> s.find_longest_match(0,len(a),0,len(b))Match(a=0, b=0, size=19) # returns NamedTuple (new in v2.6)

或选择一些最小匹配阈值。例:

>>> difflib.SequenceMatcher(None, a, b).ratio()0.61538461538461542


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号