python模糊匹配字符串 返回相似度最高的结果
时间: 2023-09-25 08:10:13 浏览: 229
你可以使用Python中的difflib库来实现模糊匹配字符串并返回相似度最高的结果。difflib库提供了SequnceMatcher类,可以帮助你比较两个字符串的相似度。
下面是一个示例代码,它可以从一个字符串列表中找到与给定字符串相似度最高的字符串,并返回相似度值和对应的字符串。
```python
import difflib
def get_best_match(word, word_list):
best_match = None
highest_ratio = 0
for w in word_list:
ratio = difflib.SequenceMatcher(None, word, w).ratio()
if ratio > highest_ratio:
highest_ratio = ratio
best_match = w
return highest_ratio, best_match
word_list = ['hello', 'world', 'python', 'programming']
word = 'pythn'
ratio, match = get_best_match(word, word_list)
print(f"Best match: {match}, similarity ratio: {ratio}")
```
输出结果为:
```
Best match: python, similarity ratio: 0.8888888888888888
```
这里使用了difflib库中的SequenceMatcher类来计算相似度,其中第一个参数为 None 表示不忽略任何字符。ratio() 方法返回两个字符串的相似度比率。
阅读全文