Python 使用fuzzyfuzzy中的Process.extract和所有最大相似选项
我有以下的意见-Python 使用fuzzyfuzzy中的Process.extract和所有最大相似选项,python,python-3.x,python-2.7,similarity,fuzzywuzzy,Python,Python 3.x,Python 2.7,Similarity,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, choice
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',92),(“总补货提前期2',92)]
您可以通过过滤process.extract的结果来实现这一点
matches=process.extract(查询、选择、限制=None)
最大比率=匹配项[0][1]
最佳匹配=[]
对于匹配中的匹配:
如果匹配[1]!=最大比值:
打破
最佳匹配。追加(匹配)
如果我理解您的问题正确,您希望收到以下输出:
[(“总补货提前期1',92),(“总补货提前期2',92)]
您可以通过过滤process.extract的结果来实现这一点
matches=process.extract(查询、选择、限制=None)
最大比率=匹配项[0][1]
最佳匹配=[]
对于匹配中的匹配:
如果匹配[1]!=最大比值:
打破
最佳匹配。追加(匹配)