擅长:python、mysql、java
<p>对<code>enumerate()</code>使用列表理解:</p>
<pre><code>newlist = [v for i, v in enumerate(oldlist) if i not in removelist]
</code></pre>
<p>相反,让<code>removelist</code>变成<code>set</code>将有助于加快速度:</p>
<pre><code>removeset = set(removelist)
newlist = [v for i, v in enumerate(oldlist) if i not in removeset]
</code></pre>
<p>演示:</p>
<pre><code>>>> oldlist = ["asdf", "ghjk", "qwer", "tyui"]
>>> removeset = set([1, 3])
>>> [v for i, v in enumerate(oldlist) if i not in removeset]
['asdf', 'qwer']
</code></pre>