连接时比较字符串

问题描述 投票:0回答:2

我正在比较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帮助。

python itertools string-comparison
2个回答
1
投票

这会吗?

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"))

1
投票

达蒙:

def com_words(str1, str2):
    return sum([word in str1 for word in str2.split()])


print(com_words("BOSTBREAD", " BOST BROWN BREAD"))
© www.soinside.com 2019 - 2024. All rights reserved.