我想计算一个整数数组的“居中”平均值。这被定义为忽略数组中最大和最小值的平均值。如果有多个最小值或最大值的副本,则只需忽略一个副本。
如何处理重复的最大值和最小值?这是我到目前为止的代码。
total = 0
i = 0
for i in range(i,len(nums)-1) :
total += nums[i]
return (total- max(nums) - min(nums)) / (len(nums)-2)
答案 0 :(得分:0)
您可以通过组合排序和列表索引来完成此操作。排序将列表按升序排列。现在,索引[1:]将跳过第一个元素(列表中的最小值),索引[:-1]将跳过最后一个元素(列表中的最大值)。组合这些,然后计算列表的平均值,以获得居中的平均值。
from statistics import mean
l = [15, 9, 55, 41, 35, 20, 62, 49]
l.sort()
mean(l[1:-1])
结果:
35.833333333333336
答案 1 :(得分:-1)
您能详细说明一下您希望通过锻炼实现的目标吗?无论如何,您都可以使用统计信息包中的模块mean()
来计算给定列表中的平均值,如下所示:
from statistics import mean
lst = [15, 9, 55, 41, 35, 20, 62, 49]
mean_value = mean(lst)