如何检查每个字母是否在多个字符串中?

我有一个数组:

arr = ['ab', 'ac']

我想检查arr 中的所有项目重复了哪些字母。对于上述,“a”在两者中。然后我想打印“1”。

另一个例子是:

arr = ['abc', 'dca', 'ac']

'a' 和 'c' 是通用的,所以我会打印 2。

知道如何做到这一点吗?

回答

您可以对每个字符串的字母进行集合,并确定所有集合的交集:

arr = ['abc', 'dca', 'ac']

common = set.intersection(*(set(string) for string in arr))
print(common)
# {'a', 'c'}

print(len(common))
# 2

set.intersection接受任意数量的参数,我们使用*来解包生成集合的生成器表达式。


以上是如何检查每个字母是否在多个字符串中?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>