You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表累积求和问题求助:代码输出不符预期,不使用accumulate()

问题分析与修正

代码错误点

  • 切片范围不正确:你用values[0:i]进行切片时,i在range(len(values))中取0、1、2,对应的切片分别是[]、[1]、[1,2],求和结果自然是0、1、3,和预期的累加序列不符。要包含到第i+1个元素,应该把切片改成values[0:i+1]。
  • 未将结果收集为列表:原代码只是逐个打印累加值,没有把结果整合为你需要的列表形式。

修正方案1(修改切片并收集结果)

values = [1,2,3]
result = []
for i in range(len(values)):
    current_sum = sum(values[0:i+1])
    result.append(current_sum)
print(result)

运行输出:[1, 3, 6]

修正方案2(用变量累加,更高效)

上面的方案每次调用sum()都会重新计算前面所有元素的和,对于大列表效率较低。可以用一个变量保存当前累加值:

values = [1,2,3]
result = []
current_total = 0
for num in values:
    current_total += num
    result.append(current_total)
print(result)

运行输出同样是[1, 3, 6]

内容的提问来源于stack exchange,提问作者suganya thangappan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:43:15