Python3中SUM的用法

对象是列表,元组,集合
内置sum

>>>sum([1,2,3],2)
8     //元素相加之后再加2
>>>sum((1,2,3))
6
>>>sum({1,2,3})
6
>>>sum(range(5))
10

numpy中sum

import numpy as np
>>>np.sum([[1,2,3], [4,5,6]])
21   //两个列表的元素相加
>>>np.sum([[1,2,3],[4,5,6]], axis=0)
[5, 7, 9]   //对应位置相加
>>>np.sum([[1,2,3],[4,5,6]], axis=1)
[6, 15]    //两个列表分别加和

### Python `sum` 函数的使用方法 #### 定义与功能 `sum()` 是 Python 的内置函数,用于返回一个可迭代对象(iterable)中的所有项与 `start` 值的总和。如果没有提供 `start` 参数,默认值为 0[^1]。 #### 参数说明 - **第一个参数**:必需,表示要累加的可迭代对象(如列表、元组等)。 - **第二个参数 (start)**:可选,表示初始值。在 Python 3.8 中支持通过关键字形式指定该参数[^1]。 #### 返回值 返回的是可迭代对象中所有元素加上 `start` 的总计数值。 #### 示例代码 以下是几个典型的 `sum()` 使用场景: ```python # 示例 1: 求列表中所有整数的和 numbers = [1, 2, 3, 4, 5] total = sum(numbers) print(total) # 输出 15 # 示例 2: 设置起始值 total_with_start = sum(numbers, 10) print(total_with_start) # 输出 25 # 示例 3: 字典键求和 keys_sum = sum({1: 'a', 2: 'b', 3: 'c'}) print(keys_sum) # 输出 6 # 示例 4: 浮点数求和并提高精度 import math floats = [0.1, 0.2, 0.3] precise_total = math.fsum(floats) # 推荐使用 fsum 提高浮点运算精度 print(precise_total) # 输出 0.6 ``` #### 注意事项 1. 如果需要拼接字符串序列,应避免使用 `sum()`,而推荐使用 `''.join(sequence)` 方法,因为后者更高效。 2. 对于浮点数求和,建议使用 `math.fsum()` 来获得更高的精确度[^1]。 3. 在 Python 3.12 中,`sum()` 的实现已经改进,能够提供更高精度的结果[^1]。 #### 错误处理 尝试将不兼容类型的 `start` 参数传递给 `sum()` 将引发 `TypeError`。例如: ```python try: result = sum([1, 2, 3], '10') except TypeError as e: print(e) # 输出: sum() can't sum strings [use ''.join(seq) instead] ``` #### 替代方案 对于一些特殊需求,可以考虑其他工具代替 `sum()`: - 拼接多个可迭代对象时,推荐使用 `itertools.chain()`。 - 循环结构也可以完成类似的求和操作[^2]: ```python total = 0 for number in range(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值