擅长:python、mysql、java
<p>问题是<a href="https://docs.python.org/3/library/stdtypes.html#str.replace" rel="nofollow noreferrer">^{<cd1>}</a>用替换子串替换了一个子串。这就是错误的意思:它需要一个子字符串,而您给了它一个单独字符的列表。在</p>
<hr/>
<p>您可以循环替换对,为每个替换对调用<code>replace</code>:</p>
<pre><code>>>> s = '123'
>>> for search, replace in zip(search_array, replace_array):
... s = s.replace(search, replace)
>>> s
'abc'
</code></pre>
<hr/>
<p>或者,您可以使用<a href="https://docs.python.org/3/library/stdtypes.html#str.translate" rel="nofollow noreferrer">^{<cd3>}</a>,它实际上可以实现您想要的功能,尽管它需要一些设置:</p>
^{pr2}$
<p>或者,或者,更具可读性:</p>
<pre><code>>>> search = "1234567890"
>>> replace = "abcddefghi"
>>> trans = str.maketrans(search, replace)
>>> '123'.translate(trans)
'abc'
</code></pre>
<hr/>
<p>顺便说一句,如果您不是有意地连续指定<code>d</code>两次,那么可能会更清楚(而且更难犯这种错误!)要指定如下字母:</p>
<pre><code>>>> replace = string.ascii_lowercase[:10]
</code></pre>