以下是測試代碼,我的實際代碼看起來幾乎相似,其中我使用原始矩陣而非隨機生成。我怎樣才能優化這個嵌套for循環。我知道這是可能的python,但我無法這樣做。在Python中優化多重嵌套for循環
import time
import numpy as np
a = 1000
b = 500
sum2,sum3,sum4 = 0
t0 = time.time()
x = np.random.random(a*a).reshape([a,a])
for outer1 in xrange(0,a):
for inner1 in xrange(0,b):
for outer2 in xrange(0,a):
for inner2 in xrange(0, a):
sum2 += x[outer2][inner2] #this is not the only operation I have
for outer3 in xrange(0,a):
for inner3 in xrange(0, a):
sum3 += x[outer3][inner3] #this is not the only operation I have
for outer4 in xrange(0,a):
for inner4 in xrange(0, a):
sum4 += x[outer4][inner4] #this is not the only operation I have
print time.time() - t0
print 'sum2: '+str(sum2)+' sum3: '+str(sum3)+' sum4: '+str(sum4)
我正在使用python 2.7。 謝謝。
您所做的額外計算使您可以優化代碼的方式發生重大變化。而且,更可能是造成瓶頸的原因,而不是這些總和。 – Dunes