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
广告