擅长:python、mysql、java
<p>一般来说,你只是不想这么做。相反,构建一个新的列表。大多数情况下,这是通过<a href="http://www.youtube.com/watch?v=pShL9DCSIUw" rel="noreferrer">list comprehension</a>完成的:</p>
<pre><code>fooListFiltered = [foo for foo in fooList if not fooChecker(foo)]
</code></pre>
<p>或者,生成器表达式(我上面链接的视频包括生成器表达式以及列表理解)或<a href="http://docs.python.org/3.3/library/functions.html#filter" rel="noreferrer">^{<cd1>}</a>(注意在2.x中,<code>filter()</code>是<em>而不是</em>懒惰-使用生成器表达式或<code>itertools.ifilter()</code>代替)可能更合适(例如,一个太大而无法读入内存的大文件不会以这种方式工作,但会使用生成器表达式)。你知道吗</p>
<p>如果您<em>需要</em>实际修改列表(很少,但有时可能是这样),那么您可以重新分配:</p>
<pre><code>fooList[:] = fooListFiltered
</code></pre>