Python 求数组的中位数

Document 对象参考手册 Python3 实例

中位数是统计学中的一个重要概念,它表示一组数据的中间值。对于一个有序数组,如果数组的长度是奇数,中位数就是中间的那个数;如果数组的长度是偶数,中位数则是中间两个数的平均值。下面是一个用 Python 求数组中位数的示例代码。

实例

def find_median(nums):
    nums_sorted = sorted(nums)
    n = len(nums_sorted)
    mid = n // 2
    if n % 2 == 1:
        return nums_sorted[mid]
    else:
        return (nums_sorted[mid - 1] + nums_sorted[mid]) / 2

# 示例数组
nums = [3, 5, 1, 4, 2]
median = find_median(nums)
print(f"数组的中位数是: {median}")

代码解析:

  1. find_median 函数接受一个数组 nums 作为参数。
  2. nums_sorted = sorted(nums) 将数组进行排序,得到一个有序的数组。
  3. n = len(nums_sorted) 获取数组的长度。
  4. mid = n // 2 计算数组的中间位置。
  5. 如果数组长度是奇数 (n % 2 == 1),直接返回中间位置的元素 nums_sorted[mid]
  6. 如果数组长度是偶数,返回中间两个元素的平均值 (nums_sorted[mid - 1] + nums_sorted[mid]) / 2

输出结果:

数组的中位数是: 3

Document 对象参考手册 Python3 实例