-3
我的代碼片段,其中蟒蛇採取長的時間長數組:Python的優化算術
n =30000
t = range(1,n)
s = sum(t)
for i in t:
for j in t[i:]:
if ts-j == i*j:
//some simple code
有什麼辦法優化它?我檢查了差異和乘法都花費了很多時間。我嘗試過numpy,但結果是最糟糕的。
澄清:條件很少滿足 - 肯定低於10,因此它不會影響性能。這將只是簡單的分配。問題在於if條件和大數字的算術運算。
如果你還沒有告訴我們你甚至想要做什麼,我們如何建議更快的方法來做某件事? – CoryKramer
我已經添加了對問題的說明 – user2576342
基本上,你有兩個問題:1.每次迭代都會創建一個新的'list',因爲'list'切片在Python中以這種方式工作; 2.''''循環速度慢,所以用更快的東西來代替雙循環。 'itertools.combinations'。然後在功能上重寫它,例如在'(i,j)'元組的生成器上映射一個函數。很難推薦更具體的東西,因爲你不顯示所需的輸出等。 –