Python FuzzyWuzzy 字符串匹配:如何找出匹配度大于90%的元素
可以使用 fuzzywuzzy 库中的 process 函数来实现:
from fuzzywuzzy import fuzz, process
string = 'apple pie'
choices = ['apple', 'banana', 'orange', 'cherry pie', 'apple juice']
result = process.extractOne(string, choices, scorer=fuzz.token_set_ratio)
if result[1] > 90:
print(result[0])
解析:
- 首先导入 fuzzywuzzy 库中的 fuzz 和 process 函数;
- 定义一个待匹配的字符串 string 和一个选择列表 choices;
- 调用 process 函数,传入待匹配的字符串、选择列表和一个 scorer 参数,该参数用于指定使用哪种匹配算法,这里使用的是 token_set_ratio 算法;
- process 函数返回一个元组,第一个元素为匹配度最高的字符串,第二个元素为匹配度得分;
- 判断匹配度得分是否大于 90,如果是则打印匹配结果。
原文地址: https://www.cveoy.top/t/topic/jWOj 著作权归作者所有。请勿转载和采集!