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

Python中的sum函数详解及常见用法示例

发布时间:2023-05-27 17:57:57

Python中的sum函数是一个内置函数,用来计算一个可迭代对象中所有元素的和。可迭代对象包括列表、元组、集合和字典等。在本篇文章中,我们将对sum函数的常见用法进行详细介绍,并提供具体代码示例。

sum函数的基本用法

sum函数的基本语法如下:

sum(iterable[, start])

其中,iterable是需要求和的可迭代对象,start是可选参数,表示求和的初始值。具体解释如下:

1. iterable,是待求和的可迭代对象。常见的可迭代对象包括列表、元组、集合和字典等。

2. start,是可选参数,表示求和的初始值。本参数是一个数字,并且默认值为0。

下面是一个常见用法的例子:

numbers = [1,2,3,4,5]
total = sum(numbers)
print(total)

输出结果为:

15

在上述示例中,我们使用sum函数求解了列表numbers中所有数字的和,并将结果存储在变量total中。最后,我们使用print函数将结果打印出来。

sum函数的高级用法

除了基本用法之外,sum函数还提供了一些高级用法。下面将分别介绍这些高级用法的具体实现方法和示例。

7.5.1 将列表中的元素进行加权求和

在某些情况下,我们需要对列表中的元素进行加权求和。此时,我们可以使用zip函数将两个列表打包成一个可迭代对象,然后再和sum函数一起使用。具体实现方法如下:

grades = [85, 90, 95, 80, 70]
weights = [0.2, 0.2, 0.3, 0.1, 0.2]
weighted_grades = sum(grade*weight for grade, weight in zip(grades, weights))
print(weighted_grades)

输出结果为:

87.5

在上述示例中,我们首先定义了两个列表:grades和weights。接着,我们使用zip函数将这两个列表打包成了一个元组的列表对象。

然后,我们使用了一个生成器表达式求解了每个学生的加权成绩。这个生成器表达式中的grade*weight表示将每个学生的成绩乘以对应的权重。最后,使用sum函数将所有学生的加权成绩求和,得到weighted_grades变量的值为87.5。

7.5.2 针对字典值的求和

在某些情况下,我们需要求解字典中所有值的和。此时,我们可以将字典中所有的值转换成一个列表,然后再和sum函数一起使用。具体实现方法如下:

expenses = {
    "rent": 1000,
    "food": 300,
    "transportation": 200,
    "entertainment": 100,
    "misc": 50
}
total_expenses = sum(expenses.values())
print(total_expenses)

输出结果为:

1650

在上述示例中,我们首先定义了一个名为expenses的字典,其中包含了各个支出的具体数值。然后,我们使用values方法将字典中的所有值转换成了一个列表。最后,使用sum函数将所有支出的数值求和,得到了total_expenses变量的值。

7.5.3 统计列表中满足条件的元素的个数

在某些情况下,我们需要统计列表中满足条件的元素的个数。此时,我们可以结合sum函数和逻辑表达式实现。具体实现方法如下:

numbers = [1,2,3,4,5]
count = sum(1 for num in numbers if num > 3)
print(count)

输出结果为:

2

在上述示例中,我们首先定义了一个列表numbers。然后,我们使用了一个生成器表达式计算出列表中所有大于3的元素,并通过sum函数将它们的数量相加。最后,我们打印出了所有满足条件的元素的个数。

7.5.4 计算二维列表中所有元素的和

在某些情况下,我们需要计算二维列表中所有元素的和。此时,我们可以结合sum函数和列表推导式实现。具体实现方法如下:

matrix = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
total = sum(sum(row) for row in matrix)
print(total)

输出结果为:

45

在上述示例中,我们首先定义了一个二维列表matrix,其中包含了9个数字。然后,我们使用了一个嵌套的列表推导式将二维列表展开为一个一维列表。其中,外层的sum函数用于求出每行元素的和,而内层的sum函数用于将所有行的和相加。最后,我们打印出了所有元素的和。

结论

在本文中,我们介绍了Python中sum函数的基本用法和一些高级用法。在实际开发中,sum函数能够大大简化代码的编写,并提高代码的运行效率。因此,希望读者们能够充分掌握sum函数的使用方法,灵活运用于实际开发当中。