欢迎访问宙启技术站
智能推送

Python中的sum()函数:如何快速获取列表总和

发布时间:2023-06-14 03:58:43

在Python中,列表是一种常见的数据结构,它可以存储一系列的值。有时候,我们需要对列表中的所有元素进行求和操作,Python内置的sum()函数就是用来做这件事的。本文将介绍如何使用sum()函数快速获取列表总和。

首先,我们可以直接调用sum()函数来获取列表的和,示例如下:

>>> nums = [1, 2, 3, 4, 5]
>>> total = sum(nums)
>>> print(total)
15

在上面的代码中,我们定义了一个包含五个元素的列表nums,然后通过调用sum()函数来计算这个列表中所有元素的和,并将结果赋给变量total。最后,我们使用print()函数来打印total的值,结果为15。

除了以上方式,sum()函数还可以接受另外两个参数,如下所示:

>>> nums = [1, 2, 3, 4, 5]
>>> total = sum(nums, 10)
>>> print(total)
25

在这个示例中,我们指定了sum()函数的第二个参数10,这意味着我们要在计算列表元素的和的基础上,再加上10,得到最终的结果25。

除了整数列表,sum()函数还适用于其他可迭代的对象,如元组或生成器,示例如下:

>>> nums = (1, 2, 3, 4, 5)
>>> total = sum(nums)
>>> print(total)
15

>>> def generate_nums():
...     for i in range(1, 6):
...         yield i
...
>>> nums = generate_nums()
>>> total = sum(nums)
>>> print(total)
15

在这两个示例中,我们分别使用元组和生成器作为输入参数传递给sum()函数,结果都是计算出所有元素的和。

需要注意的是,sum()函数对于包含非数字类型的列表将会抛出TypeError异常。如果需要对这种列表求和,可以通过自定义lambda函数来完成:

>>> data = [{'name': 'John', 'score': 90},
...         {'name': 'Kate', 'score': 80},
...         {'name': 'Tom', 'score': 70}]
>>> total = sum(map(lambda d: d['score'], data))
>>> print(total)
240

在这个示例中,我们有一个包含字典对象的列表data,每个字典对象都有一个键为score的属性,我们可以通过map函数和lambda表达式,将data列表中每个字典对象的score属性提取出来,再传递给sum()函数来计算所有元素的和。最终的结果为240。

综上所述,sum()函数是一个非常实用的函数,可以帮助我们快速获取列表或其他可迭代对象的总和。无论你需要对数字列表、元组、生成器还是其他可迭代对象进行求和操作,sum()函数都可以胜任。