擅长:python、mysql、java
<p><a href="http://www.numpy.org/" rel="nofollow"><strong>Numpy</strong></a>可以将此速度提高10倍,这一点尤其重要,因为您的列表是fix(整数)类型。在</p>
<p>在纯python中,每个比较都必须跟随对下一个元素的引用,检查类型等。在numpy中,只需要增加一个指针。在</p>
<p>下面是一个比较:</p>
<pre><code>import numpy as np
from timeit import timeit
N = 10**7
p0 = list(range(N))
p1 = list(range(N))
n0 = np.arange(N)
n1 = np.arange(N)
number = 500
t = timeit("p0==p1", setup="from __main__ import p0, p1", number=number)
print "pure python time =", t/number
number = 500
t = timeit("(n0==n1).all()", setup="from __main__ import n0, n1", number=number)
print "numpy time =", t/number
</code></pre>
<p>使用numpy的结果是10倍:</p>
^{pr2}$