在 Python 3 中模糊得分前 N?

Fuzzy scoring top N in Python 3?

我正在尝试建立 dataframe 的单词和 fuzzywuzzy 分数,并进入前 5 名。

例如我有测试词test = "kuku"

我的词袋是:

words = ["tutu", "pupu", "lulu", "kuko", "dfvfd", "wwwer"]

到目前为止我做了以下事情:

import os
import pandas as pd
from fuzzywuzzy import fuzz

test = "kuku"
[print(i, fuzz.ratio(i, test)) for i in words]

但我希望能够按分数排序并获得前 N 个。

请告知解决此类问题的最佳做法是什么?

process.extract() of Fuzzywuzzy returns 倒序排列的单词列表。第一场比赛将是最好的比赛。

from fuzzywuzzy import fuzz 
from fuzzywuzzy import process 

query = 'sat'
choices = ['slate', 'saturn', 'satellite', 'sat', 'shore']  
print(f"top 3: {process.extract(query, choices)[:3]}")