擅长:python、mysql、java
<p>这里的问题是您有一个嵌套的集合,但没有嵌套的循环。顶级列表没有任何值<code>== 'NCFS000'</code>,因此在删除所有这些值之后,没有任何更改。你知道吗</p>
<p>您想要的是:对于列表中的每个元组,删除每个值<code>== 'NCFS000'</code>,对吗?这里有两个“each”,所以代码中需要两个<code>for</code>。你知道吗</p>
<pre><code>def remove_values_from_list(the_list, val):
return [[value for value in the_sublist if value != val]
for the_sublist in the_list]
</code></pre>
<p>当然,这会提供一个列表列表,而不是一开始就提供的元组列表。如果这是一个问题,Python没有“元组理解”,但是它有<code>tuple</code>构造函数和生成器表达式,这已经足够好了:</p>
<pre><code>def remove_values_from_list(the_list, val):
return [tuple(value for value in the_sublist if value != val)
for the_sublist in the_list]
</code></pre>