可以使用 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,如果是则打印匹配结果。
Python FuzzyWuzzy 字符串匹配:如何找出匹配度大于90%的元素

原文地址: https://www.cveoy.top/t/topic/jWOj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录