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

Python中的sum()函数使用详解

发布时间:2023-05-28 12:36:10

Python中的sum()函数是一个非常常用的函数,用于对序列进行求和操作。sum()函数可以对列表、元组、集合、字典等可迭代对象的元素进行求和,并返回总和。本文主要介绍Python中的sum()函数用法和实例应用。

概括

sum(iterable[, start=0])

函数参数

- iterable:可迭代对象,如列表、元组、集合等。

- start:起始值,返回结果为所有元素相加后的和加上起始值。

返回值

返回可迭代对象的所有元素之和,返回值的类型取决于元素的类型和求和的结果。

函数用法

sum()函数的主要功能是对可迭代对象进行求和操作。在针对数字列表、元组、集合和字典操作时,返回的都是数字类型。使用方法如下:

- 求列表或元组中所有数的和

numbers = [1, 2, 3, 4, 5]

total = sum(numbers)

print(total)  # 输出 15

numbers = (1, 2, 3, 4, 5)

total = sum(numbers)

print(total)  # 输出 15

- 求集合中所有数的和

numbers = {1, 2, 3, 4, 5}

total = sum(numbers)

print(total)  # 输出 15

- 求字典中所有值的和

my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

total = sum(my_dict.values())

print(total)  # 输出 15

- 求一个列表中的所有数字的和,并加上一个起始值

numbers = [1, 2, 3, 4, 5]

total = sum(numbers, 10)

print(total)  # 输出 25

- 使用lambda函数作为规则进行求和

numbers = [1, 2, 3, 4, 5]

total = sum(numbers, lambda x: x * 2)

print(total)  # 输出 30

我们可以在sum()中添加lambda函数来指定自己的规则。例如,上面的例子中可以将每个数字都乘以2再求和,结果为30。

函数实例应用

1、统计元素出现的频率

nums = [4, 4, 4, 5, 6, 6, 6, 6, 7, 7, 7]

counts = {}

for num in nums:

    counts[num] = counts.get(num, 0) + 1

print(counts)  # 输出 {4: 3, 5: 1, 6: 4, 7: 3}

2、计算列表中平方和

numbers = [1, 2, 3, 4, 5]

total = sum(x ** 2 for x in numbers)

print(total)  # 输出 55

3、计算列表中偶数项的和

numbers = [1, 2, 3, 4, 5]

total = sum(x for x in numbers if x % 2 == 0)

print(total)  # 输出 6

4、计算列表中差异的平均数

numbers = [5, 6, 10, 15, 20]

diffs = [numbers[i + 1] - numbers[i] for i in range(len(numbers) - 1)]

avg = sum(diffs) / len(diffs)

print(avg)  # 输出 4.8

总结

Python中的sum()函数是一个很常用的函数,用于对可迭代对象中的元素进行求和操作。我们可以使用sum()函数求出列表、元组、集合和字典的元素之和,并且可以给sum()函数添加起始值、lambda函数、大量循环语句和条件语句来满足不同的需求。在实际编程中,我们可以灵活运用sum()函数来简化代码和提高效率。