pythonfuzzywuzzy我有一个字符串想要比对一个list中的元素如果匹配度大于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/cus0 著作权归作者所有。请勿转载和采集!