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