-1

我编写了代码来查找 3 个给定字符串的所有常见字母。不幸的是,有一些错误,我找不到。如果你们中的某个人能告诉我这样的代码是什么样的,我将不胜感激。

谢谢你的帮助!

4

2 回答 2

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

演示:

>>> commonLetters('abcdef', 'defg', 'def', 'ef')
{'e', 'f'}
于 2012-05-25T16:25:02.770 回答
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 原则绝对适用于此。

于 2012-05-25T16:53:34.737 回答