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