以下是 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