如何使用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)
以上两种方法均可用于计算一个列表中的中位数。根据实际情况选择合适的方法即可。
