📅  最后修改于: 2023-12-03 15:19:04.771000             🧑  作者: Mango
当我们需要查找在多个字符串中出现的共同字符时,Python可以提供非常简单的解决方案。
我们可以使用两个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(),可迭代对象是字符串的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(),都可以轻松地找到在多个字符串中出现的共同字符。这个技巧可以应用于许多领域,例如文本挖掘和自然语言处理。