Python sum() 函数
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
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
代码解析:
- 支持列表、元组、集合、range 等各种可迭代对象。
- 空迭代对象的和默认为 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)
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
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 内置函数
点我分享笔记