擅长:python、mysql、java
<p>我不确定你是不是在一个循环里做这个。如果没有,以下内容不适用。在</p>
<p>如果多次使用模式,则应使用<code>re.compile( ... )</code>编译它。这样,模式只编译一次。速度的增加应该是<strong>巨大的</strong>。最小示例:</p>
<pre><code>>>> a="a b c d e f"
>>> re.sub(' ', '-', a)
'a-b-c-d-e-f'
>>> p=re.compile(' ')
>>> re.sub(p, '-', a)
'a-b-c-d-e-f'
</code></pre>
<p><strong>另一个想法</strong>:使用<a href="http://docs.python.org/library/re.html#re.split" rel="nofollow">re.split( ... )</a>而不是{<cd2>},并使用数据的结果片段对数组进行操作。我不完全确定它是如何实现的,但我认为<code>re.sub</code>会创建文本片段并最终将它们合并到一个字符串中,这是非常昂贵的。在最后一步之后,您可以使用<code>" ".join(fragments)</code>加入数组。显然,如果您的模式在某个地方重叠,这个方法将不起作用。在</p>
<p>在更改之前和之后获取程序的时间信息是很有趣的。在</p>