python最高模糊比从列表中打印行

时间:2014-08-16 17:59:26

标签: python fuzzywuzzy

我有一个列表,包含某些行。我想要打印匹配词的行' good'最高模糊度。

问题:它唯一的打印字而不是列表中的行

编码:

from fuzzywuzzy import fuzz
c = ['I am python', 'python is good', 'Everyone are humans']
print(max(c, key=lambda a: fuzz.ratio(a, 'good')))

预期产出:

python is good

我从列表中得到一个单词而不是最高模糊值的行。请帮忙修复我的代码!答案将不胜感激!

2 个答案:

答案 0 :(得分:0)

您的代码似乎没问题,很可能您的c数组未正确初始化并包含单词而不是句子。 您的代码应与此类似:

from fuzzywuzzy import fuzz

c = ['I am python', 'python is good', 'Everyone are humans']
print(max(c, key=lambda a: fuzz.ratio(a, 'good')))

答案 1 :(得分:0)

from fuzzywuzzy import fuzz

c = ['I am python', 'python is good', 'Everyone are humans']
l = [(i,fuzz.ratio(i,'good')) for i in c]
l.sort(key=lambda a: a[1], reverse=True)