У меня есть «collection.defaultdict» (см. Ниже), который является многозначным словарем. Все значения, связанные с каждым уникальным ключом, сохраняются в списке.Запуск запроса по всем значениям внутри вложенных списков многозначного словаря
>>>x
defaultdict(<type 'list'>, {'a': ['aa', 'ab', 'ac'], 'b': ['ba', 'bc'], 'c': ['ca', 'cb', 'cc', 'cd']})
Я хочу использовать fuzzywuzzy пакет Python для того, чтобы найти целевую строку против всех значений, вложенных в многозначном словаре и вернуть топ 5 матчей, основанных на fuzzywuzzy встроенного расстояния редактирования формулы.
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
query = 'bc'
choices = x
result = process.extract(query, choices, limit=5)
И тогда запустить процесс, который принимает значение, наиболее близкое значение (с самым высоким отношением пуха балла) и определяет, какая клавиша, которая ближе всего соответствует значение, связанных с. В этом примере самым близким совпадающим значением является, конечно, «bc», а связанный с ним ключ - «b».
Мой вопрос: Как запустить fuzzywuzzy-запрос со всеми значениями внутри вложенных списков словаря? Когда я запускаю процесс fuzzywuzzy выше, я получаю строку TypeError: ожидаемую строку или буфер.