Program to find mean of array after removing some elements in Python

Suppose we have array called nums, we have to find the mean of the remaining values after removing the smallest 5% and the largest 5% of the elements.

So, if the input is like nums = [2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8], then the output will be 4.0 because after removing smallest and largest values, all are same, then the median is

To solve this, we will follow these steps −

  • sort the list nums

  • n := size of nums

  • per := quotient of (n*5/100)

  • l2 := subarray of nums from index per to (size of nums - per - 1)

  • x := average of all elements in l2

  • return x

Example (Python)

Let us see the following implementation to get better understanding −

 Live Demo

def solve(nums):

   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]