Python 的内置函数 sum

作者:IMPYLH日期:2025/11/17

Python 内建函数列表 > Python 的内置函数 sum

Python 的内置函数 sum() 是一个用于计算可迭代对象中所有元素之和的高效工具。这个函数可以接受一个可迭代对象(如列表、元组、集合等)作为参数,并返回其中所有元素的总和。

基本用法

1numbers = [1, 2, 3, 4, 5]
2total = sum(numbers)  # 返回 15
3

可选参数

sum() 函数还接受一个可选的第二个参数 start,用于指定求和的初始值。默认情况下 start 为 0。

1numbers = [1, 2, 3]
2total = sum(numbers, 10)  # 返回 16 (1+2+3+10)
3

支持的数据类型

sum() 可以处理各种数值类型,包括:

  • 整数 (int)
  • 浮点数 (float)
  • 复数 (complex)
  • 其他实现了 __add__ 方法的对象

注意事项

  1. 不能直接对非数值类型的可迭代对象使用 sum(),除非这些对象实现了 __add__ 方法。
1strings = ["a", "b", "c"]  
2# sum(strings)  # 会抛出 TypeError  
  1. 对于浮点数求和可能存在精度问题,可以使用 math.fsum() 获得更高精度的结果。

应用场景

  1. 计算列表总和:
1grades = [85, 90, 78, 92]  
2total_score = sum(grades)  
  1. 带初始值的累加:
1account_balances = [100.50, 250.75, 300.00]  
2initial_balance = 500  
3current_balance = sum(account_balances, initial_balance)  
  1. 与其他函数结合使用:
1# 计算列表中偶数的和  
2numbers = range(1, 11)  
3even_sum = sum(x for x in numbers if x % 2 == 0)  

性能考虑

sum() 是使用 C 实现的,对于大型数据集比手动循环累加更高效。在处理非常大的可迭代对象时,建议使用生成器表达式而非先创建完整列表:

1# 更高效的方式
2total = sum(x for x in range(1000000))
3

sum() 是 Python 中简单但功能强大的内置函数,能够处理各种数值累加任务,是数据分析、科学计算等场景中的常用工具。


Python 的内置函数 sum》 是转载文章,点击查看原文


相关推荐


ios包体积管理方案
denggun123452025/11/16

iOS 包体积优化是一个系统性的工程,需要从代码、资源、第三方库、构建配置等多个维度进行综合管理。下面我将梳理一个全面的 iOS 包体积管理方案。 一、包体积分析 在进行任何优化之前,必须先了解 App 体积到底由什么构成。 使用 Xcode 的 App Thinning Size Report 操作:Archive -> Distribute App -> App Store Connect -> 选择 Ad Hoc 或 App Store -> Next -> 在 "App T


Bash 入门
hubenchang05152025/11/15

#Bash 入门 #Hello World Bash 的内置命令 echo 可以打印文本。例如: $ echo Hello World Hello World echo 命令的 -e 选项激活转义字符的解释。例如: $ echo -e "Hello \n World" Hello World #命令格式 Bash 命令基本遵循以下格式: 命令 参数1 参数2 参数3 ... 例如在 echo Hello World 中,echo 是命令,Hello 是参数1,World 是参数2。 而


Python 的内置函数 issubclass
IMPYLH2025/11/14

Python 内建函数列表 > Python 的内置函数 issubclass Python 的内置函数 issubclass 用于检查一个类是否是另一个类的子类(直接或间接继承)。它是 Python 面向对象编程中类型检查的重要工具。 语法 issubclass(class, classinfo) 参数说明 class:需要检查的类(必须是类对象,不能是实例)classinfo:可以是一个类对象,或者由类对象组成的元组 返回值 返回布尔值: True:如果 class 是 c


Flutter 3.38 发布,快来看看有什么更新吧
恋猫de小郭2025/11/13

在 11 月 13 日的 FlutterFlightPlans 直播中,Flutter 3.38 如期而至,本次版本主要涉及 Dot shorthands、Web 支持增强、性能改进、问题修复和控件预览等方面。 Dot shorthands 在 Dart 3.10 + Flutter 3.38 中开始默认支持 Dot shorthands ,通过 Dot shorthands 可以使用简写方式省略类型前缀,例如使用 .start 而不是 MainAxisAlignment.start : /


HTML 的 <canvas> 标签
hubenchang05152025/11/11

#HTML 的 <canvas> 标签 请查看 HTML 元素帮助手册 了解更多 HTML 元素。 <canvas> 元素可被用来通过 JavaScript(Canvas API 或 WebGL API)绘制图形及图形动画。 #属性 请查看 HTML 元素的全局属性 了解 HTML 元素的全局属性。 height: 该元素占用空间的高度,以 CSS 像素(px)表示,默认为 150。 moz-opaque(废弃): 通过设置这个属性,来控制 canvas 元素是否半透明。如果你不想 c


CCState:为大型 Web 应用设计的状态管理库
温宇飞2025/11/9

CCState 是一个基于 Signal 的状态管理库。它通过三种语义化的信号类型(State、Computed、Command)实现读写能力隔离,并原生支持 async/await 的异步计算,让状态管理变得简单直观。CCState 与框架无关,可与 React、Vue、Solid.js 等任何 UI 框架无缝集成。它在 秒多 等项目中得到验证,为大规模应用而设计。 快速上手 Signal Signal 是一个轻量级的描述对象,它本身不存储值,只是一个"引用"或"标识符"。所有 Signal


为什么你的JavaScript代码总是出bug?这5个隐藏陷阱太坑了!
良山有风来2025/11/7

你是不是经常遇到这样的情况:明明代码看起来没问题,一运行就各种报错?或者测试时好好的,上线后用户反馈bug不断?更气人的是,有时候改了一个小问题,结果引出了三个新问题…… 别担心,这绝对不是你的能力问题。经过多年的观察,我发现大多数JavaScript开发者都会掉进同样的陷阱里。今天我就来帮你揪出这些隐藏的bug制造机,让你的代码质量瞬间提升一个档次! 变量声明那些事儿 很多bug其实从变量声明的那一刻就开始埋下了隐患。看看这段代码,是不是很眼熟? // 反面教材:变量声明混乱 function


【基础算法】DFS中的剪枝与优化
让我们一起加油好吗2025/11/2

文章目录 上文链接一、剪枝与优化1. 排除等效冗余2. 可行性剪枝3. 最优性剪枝4. 优化搜索顺序5. 记忆化搜索 二、OJ 练习1. 数的划分(1) 解题思路(2) 代码实现 2. 小猫爬山(1) 解题思路(2) 代码实现 上文链接 【基础算法】DFS 一、剪枝与优化 剪枝,形象地看,就是剪掉搜索树的分支,从而减小搜索树的规模,排除掉搜索树中没有必要的分支,优化时间复杂度。 在深度优先遍历中,有几种常见的剪枝方法: 1. 排除等效冗余 如


Python 的内置函数 exec
IMPYLH2025/10/30

Python 内建函数列表 > Python 的内置函数 exec Python 的内置函数 exec 是一个强大的动态执行工具,它允许程序在运行时执行以字符串形式提供的 Python 代码。 def eval(source:str|codeobject, /, globals:dict=None, locals:mapping=None): ''' 执行表达式并返回结果 :param source: Python 表达式 :param globals :


面经分享——字节前端一面
Moment2025/10/28

最近在使用 NestJs 和 NextJs 在做一个协同文档 DocFlow,如果感兴趣,欢迎 star,有任何疑问,欢迎加我微信进行咨询 yunmz777 1. 使用的 React 版本? React 版本演进的趋势是怎样的? React 的版本迭代趋势体现了其向更高效、更简洁的开发体验不断发展的方向。从 React 16 开始,React 引入了许多新特性,如错误边界(Error Boundaries)和 Fiber 架构,显著提高了渲染效率。React 17 主要是稳定性的更新,并没有引入

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0