Python比较两个字符串并检查它们共有多少个字符

时间:2017-12-05 16:41:37

标签: python string char compare

我只是想知道如何检查两个字符串共有多少个字符。 例如,如果我有“汽车”和“汽车”,结果应为3.

有人知道吗?

提前干杯和谢谢

最高

3 个答案:

答案 0 :(得分:2)

由于你没有写任何代码,我也不会。但基本上这个:

- 将字符串转换为列表

- 使用设置来获得他们共同的信件

- 你的集合的长度

如果你想计算重复的字母

,那么最大的危险就在于此

答案 1 :(得分:2)

以下是使用Counter的解决方案。我们为每个单词创建Counter,然后找到这些Counter的交集。这本身就是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})

答案 2 :(得分:1)

像这样的东西

count = 0

for letter in set(string1):
  count += string2.count(letter)

print(count)