中位数
找到一个数字列表的中位数。
- 使用
list.sort()
对列表中的数字进行排序。 - 找到中位数,如果列表长度为奇数,则为列表的中间元素;如果列表长度为偶数,则为中间两个元素的平均值。
statistics.median()
提供了与此代码片段类似的功能。
def median(list):
list.sort()
list_length = len(list)
if list_length % 2 == 0:
return (list[int(list_length / 2) - 1] + list[int(list_length / 2)]) / 2
return float(list[int(list_length / 2)])
median([1, 2, 3]) # 2.0
median([1, 2, 3, 4]) # 2.5