列表的居中平均值

时间:2019-11-21 17:43:29

标签: python python-3.x list

我想计算一个整数数组的“居中”平均值。这被定义为忽略数组中最大和最小值的平均值。如果有多个最小值或最大值的副本,则只需忽略一个副本。

如何处理重复的最大值和最小值?这是我到目前为止的代码。

total = 0
i = 0
for i in range(i,len(nums)-1) :
    total += nums[i]
return (total- max(nums) - min(nums)) / (len(nums)-2)

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)