[問題] list 裡的元素累加

看板Python作者 (啾咪)時間10年前 (2014/04/21 12:02), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/4 (看更多)
不好意思,小弟有一個小問題想發問,題目如下: 我有一個 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] 我寫得如下: >>>x = 0 >>> y = 0 >>> for i in range(0,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個元素作累加,這方法絕對行不通,請教一下有沒有好一點的寫法可 以幫忙小弟,謝了 ... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.73.27 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1398052978.A.3E4.html

04/21 12:21, , 1F
為什麼不行? 感覺把迴圈的次數改一下就好了啊
04/21 12:21, 1F

04/21 13:24, , 2F
B = A[:]
04/21 13:24, 2F

04/21 13:24, , 3F
for i in range(len(B)):
04/21 13:24, 3F

04/21 13:25, , 4F
if i % 200:
04/21 13:25, 4F

04/21 13:26, , 5F
B[i] += B[i-1]
04/21 13:26, 5F

04/21 13:33, , 6F
感謝大大
04/21 13:33, 6F
文章代碼(AID): #1JL9XoFa (Python)
文章代碼(AID): #1JL9XoFa (Python)