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

Python如何通过for循环遍历二维数组实现元素累加求和

Python二维列表遍历求和实现

原代码存在的问题

原代码无法得到正确结果,核心错误如下:

  • 循环逻辑只触达了外层列表层级,没有深入遍历每个子列表内部的单个数值,二维列表需要两层遍历才能拿到所有元素
  • 循环体内每次都将sum直接赋值为第一个子列表scores[0],既没有做累加操作,取值范围也完全错误,最终拿到的永远是第一个子列表而不是数值总和
  • 额外注意:不要用sum作为自定义变量名,它是Python内置的求和函数,直接覆盖会导致后续内置功能失效。

正确实现代码

最容易理解的双层循环写法,匹配基础for循环语法的学习需求:

if __name__ == '__main__':
    scores = [[8, 1], [5, 3], [3, 5], [8, 1], [7, 1], [1, 0], [9, 0], [5, 0], [6, 0], [8, 1, 0]]
    total = 0

    # 第一层遍历:拿到每一行子列表
    for row in scores:
        # 第二层遍历:拿到当前行里的每一个分数值
        for num in row:
            total += num
    
    print("所有元素总和为:", total)

运行上述代码会输出总和72,和预期结果完全一致。

如果已经熟悉循环逻辑,也可以用更简洁的生成器表达式配合内置求和函数实现:

if __name__ == '__main__':
    scores = [[8, 1], [5, 3], [3, 5], [8, 1], [7, 1], [1, 0], [9, 0], [5, 0], [6, 0], [8, 1, 0]]
    total = sum(num for row in scores for num in row)
    print("所有元素总和为:", total)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:42:29