python对列表中打印行的最高模糊比率

python对列表中打印行的最高模糊比率,python,fuzzywuzzy,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'))) from fuzzywuzzy import fuzz c = ['I am python',

我有一个列表一些行组成。我想打印出与单词“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')))
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

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

您的代码似乎正常,很可能您的
c
数组初始化错误,包含单词而不是句子。 您的代码应该与此类似:


您还可以演示如何填充
c
?当然,它是有效的,正如我所写的,可能错误在
c
的定义中。“可能错误在c的定义中”应该在注释中更好。OP很可能不精通python,这就是为什么我认为发布代码比用一个长的问答列表污染评论更好,这个答案可以解决这个问题,但是请考虑扩展它,以便它对于未来的访问者也是有用的。您可以解释OP的代码出了什么问题,以及您做了什么来修复它。
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)