可以使用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,如果是则打印匹配结果
pythonfuzzywuzzy我有一个字符串想要比对一个list中的元素如果匹配度大于90就被选出如何写代码?

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

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