Python sum() 函数

Python3 内置函数 Python3 内置函数


sum() 是 Python 中用于对可迭代对象中的元素求和的内置函数。

sum() 是 Python 中最常用的数学函数之一,可以快速计算列表、元组、集合等可迭代对象中所有元素的总和。

单词释义sum 意为"求和",计算一系列数值的总和。


基本语法与参数

语法格式

sum(iterable, start)

参数说明

  • 参数 iterable
    • 类型: 可迭代对象(列表、元组、集合等)
    • 描述: 要进行求和的可迭代对象。
  • 参数 start(可选):
    • 类型: 数值
    • 描述: 起始值,默认为 0。求和结果会加上这个值。

函数说明

  • 返回值: 返回求和结果(整数或浮点数)。
  • 要求: 可迭代对象中的元素必须是数值类型(int、float)。

实例

示例 1:基础用法

实例

# 对列表求和
numbers = [1, 2, 3, 4, 5]
result = sum(numbers)
print(result)  # 输出: 15

# 对元组求和
result = sum((10, 20, 30))
print(result)  # 输出: 60

# 对集合求和
result = sum({1, 2, 3})
print(result)  # 输出: 6

# 对range求和
result = sum(range(1, 101))
print(result)  # 输出: 5050(1到100的和)

# 空列表
result = sum([])
print(result)  # 输出: 0

运行结果预期:

15
60
6
5050
0

代码解析:

  1. 支持列表、元组、集合、range 等各种可迭代对象。
  2. 空迭代对象的和默认为 0。

示例 2:使用 start 参数

实例

# 设置起始值
numbers = [1, 2, 3]

# 默认 start=0
result = sum(numbers)
print(result)  # 输出: 6

# 设置 start=10
result = sum(numbers, 10)
print(result)  # 输出: 16(6 + 10)

# 负数起始值
result = sum(numbers, -10)
print(result)  # 输出: -4(6 + -10)

# 计算累积和时很有用
scores = [90, 85, 95]
bonus = 5
total = sum(scores, bonus)
print(total)  # 输出: 275(90+85+95+5)

运行结果预期:

6
16
-4
275

代码解析:

  • start 参数会在求和结果后再加上这个值。
  • 常用于给总分添加基础分或加分。

示例 3:实际应用

实例

# 计算平均值
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print(f"平均值: {average}")  # 输出: 平均值: 30.0

# 计算条件求和
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 计算偶数的和
even_sum = sum(x for x in data if x % 2 == 0)
print(f"偶数之和: {even_sum}")  # 输出: 偶数之和: 30

# 字典求和(对值求和)
prices = {'apple': 5, 'banana': 3, 'orange': 8}
total_price = sum(prices.values())
print(f"总价: {total_price}")  # 输出: 总价: 16

# 计算 1-100 中能被 3 或 5 整除的数的和
result = sum(x for x in range(1, 100) if x % 3 == 0 or x % 5 == 0)
print(result)  # 输出: 2318

运行结果预期:

平均值: 30.0
偶数之和: 30
总价: 16
2318

sum() 是处理数值数据最基本的工具之一,配合列表推导式可以实现复杂的条件求和。


Python3 内置函数 Python3 内置函数