<p>您可以像这样使用<a href="http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="nofollow">list comprehension</a>来过滤<code>lettersGuessed</code>中的字符</p>
<pre><code>import string
def getAvailableLetters(lettersGuessed):
return "".join([char for char in string.ascii_lowercase if char not in lettersGuessed])
print getAvailableLetters("Welcome")
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$
<p>或者,您可以像这样使用<a href="http://docs.python.org/2/library/functions.html#filter" rel="nofollow">filter</a>函数</p>
<pre><code>import string
def getAvailableLetters(lettersGuessed):
return filter(lambda x: x not in lettersGuessed, string.ascii_lowercase)
print getAvailableLetters("Welcome")
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$
<p><strong>编辑:</strong>性能比较</p>
<pre><code>import string
def getAvailableLetters(lettersGuessed):
return filter(lambda x: x not in lettersGuessed, string.ascii_lowercase)
def getAvailableLetters1(lettersGuessed):
return "".join([char for char in string.ascii_lowercase if char not in lettersGuessed])
from timeit import timeit
print timeit("getAvailableLetters('Welcome')", setup="from __main__ import getAvailableLetters")
print timeit("getAvailableLetters1('Welcome')",setup="from __main__ import getAvailableLetters1")
</code></pre>
<p><strong>在我的机器上输出</strong></p>
<pre><code>3.02976298332
2.00461006165
</code></pre>
<p>结果表明,<code>list comprehension</code>方法优于<code>filter</code>方法。在</p>