[爆卦]python迴圈累加是什麼?優點缺點精華區懶人包

為什麼這篇python迴圈累加鄉民發文收入到精華區:因為在python迴圈累加這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者flarehunter (Range)看板Python標題Re: [問題] list 裡的元素累...


※ 引述《Drunk5566 (啾咪)》之銘言:
: 不好意思,小弟有一個小問題想發問,題目如下:
: 我有一個 list , A = [1,2,3,4,5,6,7,8,9,10] , 想要將裡面的元素作累加,並且加到
: 第五個元素停止,第六個元素在重新作累加,也就是希望作出一個新的list B, 裡面的元
: 素為 B = [1 , 1+2 , 1+2+3 , 1+2+3+4 , 1+2+3+4+5, 6, 6+7, 6+7+8, 6+7+8+9,
: 6+7+8+9+10]
: 我寫得如下:
: if i<5:
: x = x + A[i]
: print x
: else:
: y = y + A[i]
: print y
: 1
: 3
: 6
: 10
: 15
: 6
: 13
: 21
: 30
: 40
: ------------------------------------------------------------
: 這個方法小一點的list 可以慢慢推,但我現在有個list 裡面有200000
: 個元素,希望每200個元素作累加,這方法絕對行不通,請教一下有沒有好一點的寫法可
: 以幫忙小弟,謝了 ...

length = 200000
block = 200

for i in range(length / block):
for j in range(1, block):
idx = i * block + j
A[idx] += A[idx-1]

一層迴圈不夠 你可以用兩個迴圈XD

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.240.114.29
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1398054454.A.7C7.html
※ 編輯: flarehunter (210.240.114.29), 04/21/2014 12:28:46
Drunk5566:感謝大大!!! 我真想跟你握手!!! 04/21 12:50
COLDTURNIP:from itertools import accumulate 04/21 22:16
COLDTURNIP:B = list(accumulate(a)) # 兩行完工 04/21 22:17
COLDTURNIP:啊抱歉沒看清楚題目,請略過我 XD 04/21 22:19

你可能也想看看

搜尋相關網站