python sum函数功能详解

  • Post category:Python

Python sum函数功能详解攻略

简介

sum() 是 Python 内置的一个函数,可以对可迭代的对象中的所有元素进行求和。这个函数非常易用,可以计算数字、字符串等序列的和,并且还支持自定义加权。

语法

sum(iterable[, start])

  • iterable:可迭代对象,可以是列表、元组、集合、字典等
  • start:可选,表示初始值(默认为0),如果传入该参数,则会在求和结果之前加上该参数

示例

下面给出几个示例,以便更好地理解 sum() 函数的用法。

示例 1 – 求和数字列表

代码如下:

numbers = [1, 2, 3, 4, 5]
result = sum(numbers)
print(result)    # Output: 15

该代码段定义了一个数字列表 numbers,然后调用 sum() 函数计算这个列表的和。输出的结果为 15。

示例 2 – 列表元素类型不同的情况

代码如下:

mixed_list = [1, "hello", 2.5, [3, 4]]
result = sum(mixed_list)    # TypeError: unsupported operand type(s) for +: 'int' and 'str'

该代码段定义了一个类型混合的列表 mixed_list,包含了数字、字符串、浮点数和列表等不同类型的元素。如果直接调用 sum() 函数会抛出 TypeError 异常,因为这些元素的类型是不同的,无法直接计算。

示例 3 – 设置初始值

代码如下:

numbers = [1, 2, 3, 4, 5]
result = sum(numbers, 10)
print(result)    # Output: 25

该代码段与示例 1 中的代码基本相同,只不过这里传入了第二个参数 10,表示计算结果之前先加上 10。输出的结果为 25,即 10+15。

示例 4 – 按条件计算序列元素的和

代码如下:

numbers = [1, 2, 3, 4, 5]
result = sum(x ** 2 for x in numbers if x % 2 == 0)
print(result)    # Output: 20

该代码段定义了一个数字列表 numbers,然后通过 for 循环,将元素的平方作为一个新的列表,再通过 if 语句判断取出所有偶数元素的平方,最后调用 sum() 函数计算这些元素的和。输出的结果为 20。

总结

至此,你已经了解了 Python 内置函数 sum() 的使用方法。总的来说,该函数简单易用,能够对各种类型的序列进行求和,并且支持自定义加权。但是需要注意的是,如果序列中的元素类型不同,不能直接使用该函数,需要进行类型转换或过滤。