【问题标题】:Using Process.extract in fuzzywuzzy and the all max similar choices for given query and choices在fuzzywuzzy中使用Process.extract以及给定查询和选择的所有最大相似选择
【发布时间】:2021-04-06 16:42:06
【问题描述】:
query = ('Hello','bye' , 'yellow')
choices= ('Hello','can', 'sweet' , 'lye' , 'fellow' , 'Hello')

现在我想使用fuzzywuzzy 过程。 Extract() 为我的所有查询获得具有最大相似率的最佳选择。如果有两个最大比例相同的选择,我想要两个。

我的预期输出是——(我的所有查询元素的相似度列表)

('Hello', 100), ('Hello', 100)]
('lye' , 80)
('fellow' , 80 ) 

【问题讨论】:

  • 字符串相似度是一个很大的域。 1. 我们可以说字谜是 100% 匹配 2. 像 byelye - 我们可以期望两者大小相同吗?然后我们可以进行字符对字符的比较。 3. 为什么byelye 80% 匹配,应该是66% 匹配吧? 4. 你的目标是什么?您能否为读者提供更多内容
  • ('lye' , 80) 和 ('fellow' , 80 ) 只是作为输出示例,查询中只有一个匹配的 bye 和 yellow 可供选择。我想要的是所有查询元素的最佳选择,如果有两个可用的最佳选择,比如 hello 元素,那么在这种情况下,如果有两个最大比率的选择,我都想要。

标签: python python-3.x list python-2.7 python-requests


【解决方案1】:

请参考https://pypi.org/project/fuzzywuzzy/

上面链接页面的一个例子。

>>> choices = ["Atlanta Falcons", "New York Jets", "New York Giants", "Dallas Cowboys"]
>>> process.extract("new york jets", choices, limit=2)
    [('New York Jets', 100), ('New York Giants', 78)]
>>> process.extractOne("cowboys", choices)
    ("Dallas Cowboys", 90)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 2020-05-03
    相关资源
    最近更新 更多