作者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://webptt.com/cn.aspx?n=bbs/Python/M.1398052978.A.3E4.html
1F:推 flarehunter:为什麽不行? 感觉把回圈的次数改一下就好了啊 04/21 12:21
2F:推 mikapauli:B = A[:] 04/21 13:24
3F:→ mikapauli:for i in range(len(B)): 04/21 13:24
4F:→ mikapauli: if i % 200: 04/21 13:25
5F:→ mikapauli: B[i] += B[i-1] 04/21 13:26
6F:→ Drunk5566:感谢大大 04/21 13:33