两个字符串中的常用字母

Pru*_*Raj 4 python string

我一直在尝试解决这个程序,它接受两个字符串作为输入并输出常用字母数.例如,如果输入是"common"和"connor",则输出应为4(1 c,1 n和2 o).我使用set()函数但输出3(它将两个o视为单个公共信件 ).任何帮助将不胜感激.谢谢!

顺便说一下这是我写的代码:

print("Enter number of inputs: ")
c = int(input())
store = []
for each_item in range(c):
    print("Enter First String: ")
    one = input()
    print("Enter Second String")
    two = input()
    s = len(set(one) & set(two))
    store.append(s)
for each_number in store:
    print(each_number)
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 8

用途collections.Counter:

>>> from collections import Counter

>>> Counter('common')
Counter({'m': 2, 'o': 2, 'c': 1, 'n': 1})
>>> Counter('connor')
Counter({'o': 2, 'n': 2, 'c': 1, 'r': 1})

>>> common = Counter('common') & Counter('connor') # intersection
>>> common
Counter({'o': 2, 'c': 1, 'n': 1})
>>> sum(common.values())
4
Run Code Online (Sandbox Code Playgroud)