python 通过对索引 取反 获得中位数

来源:互联网 发布:新手淘宝刷手机单步骤 编辑:程序博客网 时间:2024/06/11 14:27
def get_median(data):    data.sort()    # print  data    half = len(data)//2 # //   取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0    # print data[half]    # print data[~half]

return (data[half] + data[~half]) / 2

解析: 1. if len = 5, half = 2, ~half = -3, 此时 data[half] = data[~half] ,就和,取平均,等于 data[half]

2. if len = 6, half = 3, -half = -4, 此时 ,对中间2个数 data[~half] 和 data[half] 求和,再取平均值

all: half + ~half = -1

原因: http://blog.csdn.net/zhglinux/article/details/78170844

原创粉丝点击