我编写代码来查找3个给定字符串的所有常用字母。 不幸的是,有一些我无法找到的错误。 如果有人能告诉我这样的代码是什么样的,我会很感激。
感谢您的帮助!
答案 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原则绝对适用于此。