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,因为在删除最小和最大值之后,所有值都是相同的,因此中位数为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