我只是想知道我如何检查两个字符串的共同点。例如,如果我有"汽车"one_answers"汽车",则结果应为3。
有人线索?
欢呼,预先感谢
最大
这是使用Counter
的解决方案。我们为每个单词制作一个Counter
,然后找到这些Counter
s的相交。那本身就是一个Counter
,我们可以总和以找到共享字符的数量
from collections import Counter
def shared_chars(s1, s2):
return sum((Counter(s1) & Counter(s2)).values())
print(shared_chars('car', 'carts'))
将打印
3
在Counter
的情况下,交叉点是相应计数的最小值。
>>> Counter('abbb') & Counter('bcc')
Counter({'b': 1})
由于您没有编写任何代码,所以我也不会。但基本上是这样:
- 转换字符串列表
- 用来收到他们有共同的字母
- 设置的长度
最大的危害是,如果您想计算重复字母
类似这样的东西
count = 0
for letter in set(string1):
count += string2.count(letter)
print(count)