我正在测试
fuzzywuzzy
的process.extractBests()
如下:
from fuzzywuzzy import process
# Define the query string
query = "Apple"
# Define the list of choices
choices = ["Apple", "Apple Inc.", "Apple Computer", "Apple Records", "Apple TV"]
# Call the process.extractBests function
results = process.extractBests(query, choices)
# Print the results
for result in results:
print(result)
它输出:
('Apple', 100)
('Apple Inc.', 90)
('Apple Computer', 90)
('Apple Records', 90)
('Apple TV', 90)
既然所有字符串都 100% 包含查询字符串(“Apple”),为什么评分者不给 100 分?
我在 Python 3.11.7 中使用 fuzzywuzzy==0.18.0。
fuzzywuzzy
的extractBests()
函数不会给出100%,因为它不检查匹配,它检查相似性,例如字符串长度、与查询相比的字符串内容、查询字符串的位置,以及其他一些因素。在您的情况下,它不会输出 100%,因为“Apple Inc.”。与您的查询“Apple”不完全匹配。这就是为什么只有“Apple”选项输出 100%,因为它与查询“Apple”100% 匹配。我希望这有帮助!