📌  相关文章
📜  Python – 出现在多个字符串中的字符(1)

📅  最后修改于: 2023-12-03 15:19:04.771000             🧑  作者: Mango

Python – 出现在多个字符串中的字符

当我们需要查找在多个字符串中出现的共同字符时,Python可以提供非常简单的解决方案。

方法一:使用set和intersection

我们可以使用两个set对象来存储每个字符串中的字符,并使用intersection()方法查找它们的交集。

str1 = "abcde"
str2 = "cdefg"
str3 = "defgh"
 
set1 = set(str1)
set2 = set(str2)
set3 = set(str3)
 
common_chars = set1.intersection(set2, set3)
 
print(common_chars)  # {'d', 'e'}
方法二:使用reduce()和set.intersection()

使用reduce()函数和set.intersection()可以让我们更简洁地完成上面的任务。reduce()函数需要一个函数和一个可迭代对象作为参数,并将序列中的项累加到一个单独的聚合值中。在这种情况下,函数是set.intersection(),可迭代对象是字符串的set集合。

from functools import reduce
 
strs = ['abcde', 'cdefg', 'defgh']
 
common_chars = reduce(set.intersection, [set(x) for x in strs])
 
print(common_chars)  # {'d', 'e'}
总结

无论是使用set.intersection()还是reduce(),都可以轻松地找到在多个字符串中出现的共同字符。这个技巧可以应用于许多领域,例如文本挖掘和自然语言处理。