Python 中删除数组中部分元素后计算平均值的程序


假设我们有一个名为 nums 的数组,我们必须找出删除元素中最小的 5% 和最大的 5% 之后剩余值的平均值。

因此,如果输入为 nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8],则输出将为 4.0,因为在删除最小值和最大值后,剩下的所有值都相同,则中值为

为了解决这个问题,我们将遵循以下步骤

  • 对列表 nums 进行排序

  • n:nums 的大小

  • per:计算 (n*5/100) 的商

  • l2:nums 的子数组,索引从 per 到 (nums 的长度 - per - 1)

  • x:l2 中所有元素的平均值

  • 返回 x

示例 (Python)

让我们看看以下实现以获得更好的理解:

 实时演示

def solve(nums):
   nums.sort()

   n = len(nums)
   per = int(n*5/100)
   l2 = nums[per:len(nums)-per]

   x = sum(l2)/len(l2)

   return x

nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]
print(solve(nums))

输入

[2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8]

输出

4.0

更新时间: 2021 年 5 月 17 日

207 次浏览

开启你的 事业

完成课程,获得认证

开始
广告