是否有标准计算来比较两个无序的单词串。
虽然我认为我正在进行一系列的比较,但我可以通过最高分来规范化,但是对于我的特定提议,这将是低效的。示例:
c1 = magicFunc("big truck red", "big red truck")
c2 = magicFunc("big red truck", "big red truck")
c3 = magicFunc("big red red truck", "big red truck")
c4 = magicFunc("big blue truck", "big red truck")
c1,c2和c3得分较高"比c4 我对c2和c3有点无动于衷(但c3应该更高),而c1应该等于c2,因为顺序并不重要。
答案 0 :(得分:0)
你应该看看_.uniq
你可以使用该函数然后编写magicFunc
来比较2个字符串,方法是将它们转换为数组并将它们传递给_.uniq
。
答案 1 :(得分:0)
用它来刺伤它:
from collections import Counter
def magicFunc(str1, str2):
bag1, bag2 = Counter(str1.split()), Counter(str2.split())
overlap = bag1 & bag2
return sum(overlap.values())
在您提供的输入上,分数分别为3,3,3和2.