Python 内建函数列表 > Python 的内置函数 sum
Python 的内置函数 sum() 是一个用于计算可迭代对象中所有元素之和的高效工具。这个函数可以接受一个可迭代对象(如列表、元组、集合等)作为参数,并返回其中所有元素的总和。
numbers = [1, 2, 3, 4, 5]
total = sum(numbers) # 返回 15
sum() 函数还接受一个可选的第二个参数 start,用于指定求和的初始值。默认情况下 start 为 0。
numbers = [1, 2, 3]
total = sum(numbers, 10) # 返回 16 (1+2+3+10)
sum() 可以处理各种数值类型,包括:
整数 (int)
浮点数 (float)
复数 (complex)
其他实现了 __add__ 方法的对象
不能直接对非数值类型的可迭代对象使用 sum(),除非这些对象实现了 __add__ 方法。
strings = ["a", "b", "c"]
# sum(strings) # 会抛出 TypeError
对于浮点数求和可能存在精度问题,可以使用 math.fsum() 获得更高精度的结果。
计算列表总和:
grades = [85, 90, 78, 92]
total_score = sum(grades)
带初始值的累加:
account_balances = [100.50, 250.75, 300.00]
initial_balance = 500
current_balance = sum(account_balances, initial_balance)
与其他函数结合使用:
# 计算列表中偶数的和
numbers = range(1, 11)
even_sum = sum(x for x in numbers if x % 2 == 0)
sum() 是使用 C 实现的,对于大型数据集比手动循环累加更高效。在处理非常大的可迭代对象时,建议使用生成器表达式而非先创建完整列表:
# 更高效的方式
total = sum(x for x in range(1000000))
sum() 是 Python 中简单但功能强大的内置函数,能够处理各种数值累加任务,是数据分析、科学计算等场景中的常用工具。