计算两个 字符串的相似度, 返回相似度最高的文本
完整代码如下:
# -*- coding:utf-8 -*-
import difflib
# 比较两个字符的相似度
def string_similar(s1, s2):
return difflib.SequenceMatcher(None, s1, s2).quick_ratio()
# 获取字符集合b中,与a字符相似度最大的文本
def getMax(a, bList):
dictb = {}
listb = []
for b in bList:
num = string_similar(a, b)
dictb[num] = b
listb.append(num)
return dictb[max(listb)]
# 程序入口
if __name__ == '__main__':
a = "我感到亨氏" # 字符串a
bList = ["我感", "我", "我d的额", "ddd", "我感到"] # 字符集合b
print("a字符:", a)
print("b字符集合:", bList)
maxtext = getMax(a, bList)
print("字符集合b中,与a字符相似度最大的文本是:", maxtext)
结果: