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 次瀏覽

開啟你的 事業

完成課程,獲得認證

開始
廣告