如何在一组字符串中找到所有常用字母?

时间:2012-05-25 16:20:34

标签: python

我编写代码来查找3个给定字符串的所有常用字母。 不幸的是,有一些我无法找到的错误。 如果有人能告诉我这样的代码是什么样的,我会很感激。

感谢您的帮助!

2 个答案:

答案 0 :(得分:8)

def commonLetters(*strings):
    return set.intersection(*map(set,strings))

演示:

>>> commonLetters('abcdef', 'defg', 'def', 'ef')
{'e', 'f'}

答案 1 :(得分:2)

Python旨在使事情易于阅读,并为大多数功能提供标准库 - 这就是“包含电池”的原因。做你想做的事的Pythonic方法是设置交叉点。

>>> a = 'foobar'
>>> b = 'bar'
>>> c = 'barbaz'
>>> common_letters = set(a) & set(b) & set(c)
>>> print( list(common_letters) )
['a', 'r', 'b']

当然还有其他方法来构建集合,但KISS原则绝对适用于此。