擅长:python、mysql、java
<p>第一个问题是<code>replace</code>没有就地更改字符串,它只返回一个新字符串。你忽略了那个新的字符串。在</p>
<p>你想要的是:</p>
<pre><code>new_list = []
for x in list:
new_list.append(x.replace("[","").replace("]","").replace('"','').replace(" ","").replace(",","").replace("[",""))
</code></pre>
<p>您可以使用<code>translate</code>来简化这个过程,或者使用不同的方法过滤掉字符,比如理解或<code>filter</code>调用。但结果是一样的。在</p>
<hr/>
<p>更大的问题是你想做的事情毫无意义。列表中没有一个元素包含<code>[</code>、<code>]</code>、<code>"</code>等字符。您可能混淆了列表的字符串表示和列表本身。在</p>
<p>如果你想加入一个列表的成员,或者产生一个列表的任何表示,而不是默认的<code>repr</code>,只需显式地<code>join</code>它们。例如,这样可以得到您想要的:</p>
^{pr2}$
<p>…这得到了不同的表示:</p>
<pre><code>' and '.join(list)
</code></pre>
<p>…这与<code>repr</code>大致相同:</p>
<pre><code>'[' + ', '.join(map(repr, list)) + ']'
</code></pre>