0

我有一个由一些行组成的列表。我想打印具有最高模糊率的匹配词“好”的行。

问题:它只打印单词而不是列表中的行

编码:

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

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

4

2 回答 2

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')))
于 2014-08-16T18:05:34.897 回答
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)
于 2014-08-16T18:11:24.400 回答