欢迎访问宙启技术站
智能推送

如何使用Python函数计算一个列表中的中位数?

发布时间:2023-07-01 14:28:24

使用Python计算列表中的中位数,可以使用以下两种方法:排序法和统计法。

方法1:排序法

1. 使用sorted()函数对列表进行排序,返回一个有序列表。

2. 使用len()函数获取排序后的列表的长度,并保存为变量length。

3. 使用if语句判断列表长度是偶数还是奇数:

- 若列表长度为偶数,即length能被2整除,则中位数为排序后的列表的第length/2个元素和第length/2+1个元素的平均数。

- 若列表长度为奇数,即length除以2不整除,则中位数为排序后的列表的第(length+1)/2个元素。

4. 返回得到的中位数。

代码示例:

def median(nums):
    sorted_nums = sorted(nums)
    length = len(sorted_nums)
    if length % 2 == 0:
        median_index_1 = length // 2
        median_index_2 = length // 2 - 1
        return (sorted_nums[median_index_1] + sorted_nums[median_index_2]) / 2
    else:
        median_index = (length + 1) // 2 - 1
        return sorted_nums[median_index]

方法2:统计法

1. 使用statistics模块中的median()函数,直接计算列表的中位数。

2. 导入statistics库。

3. 使用statistics.median()函数计算列表中的中位数。

4. 返回计算结果。

代码示例:

import statistics

def median(nums):
    return statistics.median(nums)

以上两种方法均可用于计算一个列表中的中位数。根据实际情况选择合适的方法即可。