擅长:python、mysql、java
<p>首先,如果我是你,我会分析我的代码,例如通过封装你在函数中提到的那些调用,并调用</p>
<pre><code>import cProfile
cProfile.run("my_function()")
</code></pre>
<p>稍后,我将重点关注那些像您在post中要求的小优化(而不是关注真正的性能猪!),我将上面的代码替换为:</p>
<pre><code>some_list = [x for x in range(infinity) if x > 100 and x < infinity]
# replacing range with xrange in python2
</code></pre>
<p>但这只是我考虑将这些方括号转换成普通括号,将我的列表转换成生成器之前的一步。如果你能更精确一点的要求,也许我们可以做得更好</p>
<p>例如,您提到您运行各种函数。为什么不换成这样的东西:</p>
<pre><code>def clean_some_data(data, cleanup_functions):
return [cleanup_function(data) for cleanup_function in cleanup_functions]
# or
def clean_some_data(data, cleanup_functions):
for cleanup_function in cleanup_function:
data = [cleanup_function(item) for item in data]
return data
</code></pre>
<p>有一些可能性,但需要更多的细节</p>