2022年 11月 5日

python_中位数

# 定义计算中位数的函数get_median(),输入参数为input_list,return值为中位数
def get_median(input_list):
    input_list.sort() #input_list从小到大排序
    #print(input_list)
    n=len(input_list) #获取input_list长度并赋值给n
    if n%2 ==1: #如果input_list长度为奇数,也就是除以2余数为1
        median_value=input_list[int((n+1)/2)-1]
        #中位数为第(n+1)/2个数,索引为(n+1)/2-1
        #(n+1)/2为浮点数,用int()转化为整数,才能作为索引
    else: #如果list长度为偶数
        median_value=(input_list[int(n/2-1)]+input_list[int(n/2+1-1)])/2
        #中位数为第n/2个数(索引为n/2-1)和第n/2+1个数(索引为n/2+1-1)的均值 
    return median_value

# 测试:调用get_median函数,计算中位数
input_list1=[100,98,87,65,82,99,92,99,100]
input_list2=[98,87,65,82,99,92,99,100]
print(get_median(input_list1))
print(get_median(input_list2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

From B