Python 求数组的中位数
中位数是统计学中的一个重要概念,它表示一组数据的中间值。对于一个有序数组,如果数组的长度是奇数,中位数就是中间的那个数;如果数组的长度是偶数,中位数则是中间两个数的平均值。下面是一个用 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}")
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}")
代码解析:
find_median
函数接受一个数组nums
作为参数。nums_sorted = sorted(nums)
将数组进行排序,得到一个有序的数组。n = len(nums_sorted)
获取数组的长度。mid = n // 2
计算数组的中间位置。- 如果数组长度是奇数 (
n % 2 == 1
),直接返回中间位置的元素nums_sorted[mid]
。 - 如果数组长度是偶数,返回中间两个元素的平均值
(nums_sorted[mid - 1] + nums_sorted[mid]) / 2
。
输出结果:
数组的中位数是: 3
点我分享笔记