作者Drunk5566 (啾咪)
看板Python
標題[問題] list 裡的元素累加
時間Mon Apr 21 12:02:56 2014
不好意思,小弟有一個小問題想發問,題目如下:
我有一個 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
推 flarehunter:為什麼不行? 感覺把迴圈的次數改一下就好了啊 04/21 12:21
推 mikapauli:B = A[:] 04/21 13:24
→ mikapauli:for i in range(len(B)): 04/21 13:24
→ mikapauli: if i % 200: 04/21 13:25
→ mikapauli: B[i] += B[i-1] 04/21 13:26
→ Drunk5566:感謝大大 04/21 13:33