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

如何用Pythonic方式在循环中对字典列表内的分数求和?

用Pythonic方式对不同长度的学生分数列表求和

问题说明

需要遍历学生列表,对每个学生的分数列表求和,但不同学生的分数列表长度不一致,当前手动索引相加的写法无法适配所有情况,需要更简洁、通用的实现方式。

解决方案

直接使用Python内置的sum()函数对每个学生的points列表求和,同时在循环内完成结果输出,避免只保留最后一个学生的计算结果。

完整代码示例

student1 = {'name': 'Hans', 'points': [285, 210, 135, 100, 300]}
student2 = {'name': 'Peter', 'points': [65, 56, 48]}

students = [student1, student2]

for stud in students:
    total_points = sum(stud['points'])
    print(f"{stud['name']}: {total_points}")

代码解释

  • sum(stud['points']):Python内置的sum()函数可直接对任意长度的可迭代对象(此处为分数列表)求和,完美适配不同长度的分数列表,比手动索引相加更简洁且不易出错。
  • f"{stud['name']}: {total_points}":使用f-string格式化输出,清晰展示每个学生的名字和对应的总分,完全匹配期望输出格式。
  • 循环内直接打印结果:解决了原代码仅保留最后一个学生求和结果的问题,确保每个学生的分数总和都能被输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:55:48