首页 > 编程知识 正文

用Python求一组数据的中位数,python计算中位数函数

时间:2023-05-05 16:52:45 阅读:248726 作者:2466

1.贴题

题目来自PythonTip
求中位数

给你一个整数列表L, 输出L的中位数(若结果为小数,则保留一位小数)。

例如: L=[0,1,2,3,4]

则输出:2

2.说明 如果列表有奇数个整数,则输出中间那个如果列表有偶数个整数,则输出中间两个的平均值 3.参考代码 l = len(L) #数出列表中有几个元素,将个数放到l里L.sort() #将列表按升序排列if l%2 == 0: #如果有偶数个整数 m = (L[int(l/2) - 1] + L[int(l/2)]) / 2 #计算中间两个的平均值,存到m里 print("%.1f" % m) #按一位小数打印melse: #如果有奇数个整数 m = L[int((l-1)/2)] #将中间那个整数的值存到m里 print(m) #直接打印m 4.改进 因为python进行除法后会转换成float类型,所以即使能够整除也要转换一下类型。更简洁的写法是使用整除//备注一下,如果是python2版本直接进行除法会保留整数跟c语言一样 5.其他写法 L = sorted(L)print(L[len(L)//2] if len(L)%2==1 else "%.1f"%(0.5*(L[len(L)//2-1]+L[len(L)//2]))) 6.后记

这道题没有什么特殊的地方,踏踏实实把每一个要求做到就好了。刚开始可以怎么想的就怎么写代码,然后再提炼看有没有可以简化的地方,如果有余力还可以挑战一下写成列表推导式。理论上能应该都可以写成列表推导式的。

历史中提交的图片或压缩文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。