中位数

找到一个数字列表的中位数。

  • 使用 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