以下是 Python 編寫一個函數(shù)求中位數(shù)的代碼:
def find_median(arr):
arr.sort() # 將列表升序排序
n = len(arr)
if n % 2 != 0: # 判斷列表長度為奇數(shù)還是偶數(shù)
return arr[n//2] # 如果是奇數(shù),返回中間元素
else:
return (arr[n//2-1] + arr[n//2])/2 # 如果是偶數(shù),返回中間兩個元素的平均值
函數(shù)參數(shù) arr 是一個列表,函數(shù)首先使用 sort() 方法將列表升序排序。然后判斷列表長度是奇數(shù)還是偶數(shù),如果是奇數(shù),返回列表中間的元素;如果是偶數(shù),則返回中間兩個元素的平均值。
例如,對于以下列表 [1, 2, 3, 4, 5],調(diào)用函數(shù) find_median() 將返回 3,因?yàn)橹形粩?shù)是 3。
print(find_median([1, 2, 3, 4, 5])) # 輸出 3
對于另一個列表 [1, 2, 3, 4],調(diào)用函數(shù) find_median() 將返回 2.5,因?yàn)橹形粩?shù)是 (2 + 3) / 2。
print(find_median([1, 2, 3, 4])) # 輸出 2.5