#python #python-3.x #python-2.7 #similarity #fuzzywuzzy
#python #python-3.x #python-2.7 #сходство #fuzzywuzzy
Вопрос:
У меня есть следующие входные данные-
query = 'Total replenishment lead time (in workdays)'
choices = ['PLANNING_TIME_FENCE_CODE', 'BUILD_IN_WIP_FLAG','Lead_time_planning', 'Total replenishment lead time 1', 'Total replenishment lead time 2']
print(process.extract(query, choices))
Я получаю следующий вывод-
[('Total replenishment lead time 1', 92), ('Total replenishment lead time 2', 92), ('Lead_time_planning', 50), ('PLANNING_TIME_FENCE_CODE', 36), ('BUILD_IN_WIP_FLAG', 26)]
Но я просто хочу все лучшие варианты с максимальным коэффициентом подобия, даже если соотношение одинаково для двух вариантов.
Пожалуйста, помогите.
Ответ №1:
Если я правильно понял ваш вопрос, вы хотели бы получить следующий вывод:
[('Total replenishment lead time 1', 92), ('Total replenishment lead time 2', 92)]
Вы можете добиться этого, отфильтровав результаты process.extract
matches = process.extract(query, choices, limit=None)
max_ratio = matches[0][1]
best_matches = []
for match in matches:
if match[1] != max_ratio:
break
best_matches.append(match)