我有一些列表中的分数"分数"。我想使用此列表创建另一个列表" progress"其中每个项目是"点"中的项目的累进总和。
这是"积分"列表:
points = [1, 2, 3, 1, 0, 2]
这就是"进步"列表应该看起来:
progress = [1, 3, 6, 7, 7, 9]
这是我的代码,不起作用:
points = [1, 2, 3, 1, 0, 2]
progress = []
start = []
for i in points:
start += [i]
progress.append(start)
print("progrress: ")
print(progress[0])
运行代码时得到的结果是:
progrress:
[1, 2, 3, 1, 0, 2]
显然我错过了一些简单的东西,但我无法找到它。
答案 0 :(得分:0)
[points]
从points
创建一个列表,该列表已经是一个列表,因此您的循环遍历[[1, 2, 3, 1, 0, 2]]
,即它仅执行i = [1, 2, 3, 1, 0, 2]
的1次迭代。你不需要这些额外的[]
!
同样适用于start
,它应该是一个整数。
在将start
附加到progress
之前,您还希望增加{{1}}。
答案 1 :(得分:0)
这是一个有效的代码。试一试
points = [1, 2, 3, 1, 0, 2]
progress = []
for i in range(len(points)):
progress.append(sum(points[0:i+1:]))
print progress
根据您的期望打印[1, 3, 6, 7, 7, 9]