Python 程序查找列表的总和与平均值

在本文中,我们将通过示例展示如何编写一个 Python 程序来查找列表中元素的总和与平均值。有多种方法可以找到列表的总和与平均值,包括内置函数如 sum()、mean() 等,以及循环。

使用 sum() 和 len() 函数查找列表总和与平均值的 Python 程序

第一种方法是使用 len() 函数查找列表中的总项数,并使用 sum() 方法计算列表元素的总和。在下面的程序中,我们创建了一个包含八个值的整数列表。在这里,sum(a) 返回列表中八个项的总和。接下来,total / len(a) 将计算列表的平均值。

a = [5, 10, 15, 25, 40, 65, 100, 150]

total = sum(a)
avg = total / len(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  410
Average  =  51.25

下面的程序允许用户输入列表项的总数及其值。然后,此 Python 程序使用上述 sum() 函数技术来查找列表项的总和与平均值。您可以在所有示例中应用此过程,以允许用户决定列表的大小和值。

a = []
n = int(input("Enter the Total Number of List Elements : "))

for i in range(n):
value = int(input("Enter Element : "))
a.append(value)

total = sum(a)
avg = total / n

print("Sum = ", total)
print("Average = ", avg)
Python Program to Find the Sum and Average of a List

使用 for 循环查找列表总和与平均值的 Python 程序

如果您不想使用任何内置函数,for 循环是查找列表中元素总和与平均值的最佳且最流行的方法。

众所周知,总和意味着使用 + 运算符将所有项相加,而平均值是总和除以项的总数。在这里,for 循环将迭代列表中的每个元素。在循环中,total += n (total = total + n) 行会将每个元素添加到总和中。下一行 count += 1 (count = count + 1) 将为每次迭代增加或添加 1。这意味着计算列表项的总数。

a = [50, 10, 70, 25, 40, 65, 100, 150]

total = count = 0

for n in a:
total += n
count += 1

avg = total / count

print("Sum = ", total)
print("Average = ", avg)
Sum      =  510
Average  =  63.75

使用 while 循环

这个 Python 程序没有使用 For 循环,而是使用了 While 循环来迭代 列表项并计算列表元素的总和与平均值。

a = [50, 10, 70, 25, 40, 65, 100, 150]

total = 0
length = len(a)

i = 0
while i < length:
total += a[i]
i += 1

avg = total / length

print("Sum = ", total)
print("Average = ", avg)
Sum      =  510
Average  =  63.75

使用模块查找列表总和与平均值的 Python 程序

下面的示例使用了不同模块中提供的内置函数。

使用 statistics

在 Python 中,statistics 模块有两个有用的函数 fsum() 和 mean()。fsum() 用于查找列表项的总和,mean() 将计算它们的平均值。在下面的程序中,我们同时使用了它们。

import statistics

a = [50, 10, -70, 140, 65, 100, 150]

total = statistics.fsum(a)
avg = statistics.mean(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  445.0
Average  =  63.57142857142857

使用 numpy 模块

除了上述选项,您还可以尝试流行的 NumPy 模块中提供的内置函数。在此 Python 程序中,我们导入了 numpy 模块并调用了 sum() 和 average() 函数来查找或计算列表元素的总和与平均值。您还可以使用 numpy mean() 函数来查找平均值。

import numpy as np

a = [50, 10, -70, 140, 65, 100, 150]

total = np.sum(a)
avg = np.average(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  445
Average  =  63.57142857142857

使用 math 模块查找列表总和与平均值的 Python 程序

math 模块有一个名为 fsum() 的内置函数,用于计算给定项的总和。在此程序中,我们使用 math fsum() 函数来计算列表中元素或项的总和与平均值。

import math

a = [50, 140, 65, 110, 75, 100, 150]

total = math.fsum(a)

avg = total / len(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  690.0
Average  =  98.57142857142857

使用 reduce() 函数

在 functools 中有一个 reduce() 方法,您也可以使用它。reduce() 函数有助于将特定函数或计算应用于传递给该函数的一组元素。在这里,我们将 reduce 函数与 lambda 表达式一起使用来查找列表项的总和与平均值。

from functools import reduce

a = [50, 140, 65, 110, 75, 100, 150]

total = reduce(lambda x, y: x + y, a)

avg = total / len(a)
# avg = reduce(lambda x, y: x + y, a) / len(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  690
Average  =  98.57142857142857

在 operator 模块中使用 add()

operator 模块有一个 add 函数,用于添加给定对象中的总项。在这里,我们将 operator add() 方法与 reduce() 函数结合使用。因此,它会将 add 方法分配给整个列表。

from functools import reduce
import operator

a = [50, 140, 65, 110, 75, 100, 15]

total = reduce(operator.add, a)

avg = total / len(a)

print("Sum = ", total)
print("Average = ", avg)
Sum      =  555
Average  =  79.28571428571429