我正在比较2个输入字符串。这只是使用我写的单行函数来实现:
from itertools import product
def com_words(str1, str2):
return sum([i==j for i,j in product(str1.split(), str2.split())])
print(com_words("BOST BREAD", "BOST BROWN BREAD"))
但是,当两个单词连接起来时,我也想做类似人的比较。例如,下面的代码导致输出为ZERO,而我希望输出为TWO:
print(com_words("BOSTBREAD", " BOST BROWN BREAD"))
除了暴力方法,我无法创建一个实用而快速的算法。 Pl帮助。
这会吗?
from itertools import product
def com_words(str1, str2):
return sum([(i in j) or (j in i) for i,j in product(str1.split(), str2.split())])
print(com_words("BOSTBREAD", "BOST BROWN BREAD"))
达蒙:
def com_words(str1, str2):
return sum([word in str1 for word in str2.split()])
print(com_words("BOSTBREAD", " BOST BROWN BREAD"))