<p>这可能有点冗长,但在Python3。你知道吗</p>
<pre><code># This will remove all non letter characters and spaces from the sentence
sentence = ''.join(filter(lambda x: x.isalpha() or x == ' ', sentence)
# the rest of your code will work after this.
</code></pre>
<p>这里有一些先进的概念。你知道吗</p>
<p>Filter将接受一个函数和一个iterible,该函数和iterible返回一个生成器,其中的项不会从函数返回true
<a href="https://docs.python.org/3/library/functions.html#filter" rel="nofollow noreferrer">https://docs.python.org/3/library/functions.html#filter</a></p>
<p>Lambda将创建一个匿名函数,为我们检查每个字母。
<a href="https://docs.python.org/3/reference/expressions.html#lambda" rel="nofollow noreferrer">https://docs.python.org/3/reference/expressions.html#lambda</a></p>
<p>isalpha()将检查所讨论的字母是否是一个字母。
后跟x=='',可以看到它可能是一个空格。
<a href="https://docs.python.org/3.6/library/stdtypes.html?highlight=isalpha#str.isalpha" rel="nofollow noreferrer">https://docs.python.org/3.6/library/stdtypes.html?highlight=isalpha#str.isalpha</a></p>
<p>''。join将获取筛选器的结果并将其放回字符串中。
<a href="https://docs.python.org/3.6/library/stdtypes.html?highlight=isalpha#str.join" rel="nofollow noreferrer">https://docs.python.org/3.6/library/stdtypes.html?highlight=isalpha#str.join</a></p>