擅长:python、mysql、java
<p>那是因为你给filter的参数顺序不正确。你知道吗</p>
<p>只是使用</p>
<pre><code>flat_list = filter(lambda x: x[0] != '[' and x[0] != "'", a_lis)
</code></pre>
<p>注意:查看您的数据,更好的方法如下所示:</p>
<pre><code>flat_list = filter(lambda x: ' ' not in x[1], a_lis)
</code></pre>
<p>编辑:如下面的注释所述,上面的代码使平面列表成为生成器。要获得具体的列表,只需使用列表理解:</p>
<pre><code>def should_remove(s):
return '[' in s or ']' in s or "'" in s
flat_list = [x in a_lis if not should_remove(x[1])]
</code></pre>
<p>或者</p>
<pre><code>flat_list = [x in a_lis if ' ' not in x[1]]
</code></pre>