代码点读机 / Python / sum

sum Python · 内置函数

`sum` 把一个可迭代对象(比如列表、元组)里的所有数字加起来,返回总和。就像你有一堆零钱,一个一个加起来,最后得到一个总数。它还能指定一个起始值,就像先把一张钞票放在桌上,再把零钱加在上面。

怎么用

sum(可迭代对象)              # 默认从0开始加
sum(可迭代对象, 起始值)      # 从起始值开始加

小例子

数字列表 = [1, 2, 3, 4, 5]
print(sum(数字列表))
print(sum(数字列表, 10))   # 从10开始加

运行结果

15
25

对比:手动写循环累加

数字列表 = [1, 2, 3, 4, 5]
总和 = 0
for 数 in 数字列表:
    总和 += 数
print(总和)
用 `sum` 一行就完成,更简洁。

常见使用场景

1. 计算总分、平均值:
成绩 = [85, 90, 78, 92]
平均 = sum(成绩) / len(成绩)
print(平均)
2. 把多个列表合并求和(用起始值):
列表1 = [1, 2]
列表2 = [3, 4]
总和 = sum([列表1, 列表2], [])   # 起始值是一个空列表
print(总和)  # [1, 2, 3, 4]
3. 累加生成器产生的数字。

提醒:- `sum` 要求可迭代对象中的元素是数字(整数或浮点数),否则会报错。 - 如果可迭代对象很大,`sum` 比手动循环快一些,因为内部用 C 实现。 - 对于字符串拼接,不要用 `sum`,应该用 `''.join(字符串列表)`,因为 `sum` 会反复创建新字符串导致性能差。 - 起始值默认是 `0`,但也可以指定其他数值(如 `0.0`)或空列表等。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#sum

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条