擅长:python、mysql、java
<p>您可以使用<code>re.sub</code>函数。你知道吗</p>
<pre><code>import re
ColorPairs = {'red':'blue','blue':'red'}
def ColorSwap(text):
print(re.sub(r'\S+', lambda m: ColorPairs.get(m.group(), m.group()) , text))
ColorSwap('The blue red ball')
</code></pre>
<p><code>\S+</code>匹配一个或多个非空格字符。也可以使用<code>\w+</code>而不是<code>\S+</code>。在这里,对于每个匹配,python都会根据dictionary键检查匹配。如果有一个类似match的键,那么它将用该特定键的值替换字符串中的键。你知道吗</p>
<p>如果找不到键,如果使用<code>ColorPairs[m.group()]</code>,它将显示<code>KeyError</code>。所以我使用了<code>dict.get()</code>方法,如果找不到键,它将返回一个默认值。你知道吗</p>
<p><strong>输出:</strong></p>
<pre><code>The red blue ball
</code></pre>