普通方法:

  对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数

def huahua(x):length = len(x)print(length)x.sort()print(x)if (length % 2)== 1:z=length // 2y = x[z]else:y = (x[length//2]+x[length//2-1])/2return yl = [1,2,3,7,5,6,4,9,8,10]
print(huahua(l))

最佳方法:

  采用取反的方式来求中位数,排序后结果为l=[1,2,3,4,5,6,7,8,9,10],长度为10,half=10//2=5,x[5]为列表的第六位数,5的取反数为-6,x[-6]实际上是对列表进行反向查找,为列表中的第五位数,长度为偶数10时中值5+6/2=5.5。

  当结果为l=[1,2,3,4,5,6,7,8,9]时,长度为9,half=9//2=4,x[4]为列表的第五位数,4取反为-5,x[-5]在列表中是正向反向查找中的第五位数,所以x[4]==x[-5],中位数就为x[4]或者x[-5]。

def median(data):data.sort()half = len(data) // 2return (data[half] + data[~half])/2l = [1,2,3,7,5,6,4,9,8,10]
if __name__ == '__main__':print(median(l))

转载于:https://www.cnblogs.com/s-1314-521/p/9771478.html

python中获取中位数相关推荐

  1. 从数据流中获取中位数

    从数据流中获取中位数 需求描述 需求分析 C++代码如下 python代码 需求描述   有一个动态的数据流,如何比较快的获得数据流的中位数.这个过程中,数据流可能会有新的数据加入.中位数定义为元素个 ...

  2. Python中获取异常(try Exception)信息

    Python中获取异常(try Exception)信息 参考文章: (1)Python中获取异常(try Exception)信息 (2)https://www.cnblogs.com/hixiao ...

  3. 在Python中获取文件大小? [重复]

    本文翻译自:Getting file size in Python? [duplicate] This question already has an answer here: 这个问题在这里已有答案 ...

  4. python金融数据怎么获取_class类怎样在python中获取金融数据?

    我们搜集金融数据,通常想要的是利用爬虫的方法.其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的.下面就cla ...

  5. python查看系统进程_在Python中获取操作系统的进程信息

    本文主要介绍在 Python 中使用 psutil 获取系统的进程信息. 1 概述 psutil 是 Python 的一个进程和系统工具集模块,通过使用 psutil,我们可以在 Python 中获取 ...

  6. 如何在Python中获取文件创建和修改日期/时间?

    我有一个脚本,该脚本需要根据文件创建和修改日期执行一些操作,但必须在Linux和Windows上运行. 在Python中获取文件创建和修改日期/时间的最佳跨平台方法是什么? #1楼 最好的功能是os. ...

  7. python中获取文件大小_如何在Python中获取文件大小

    python中获取文件大小 We can get file size in Python using the os module. 我们可以使用os模块在Python中获取文件大小. Python中的 ...

  8. Python中获取两数相除的商和余数

    方法一:可以使用//求取两数相除的商.%求取两数相除的余数.[/在Python中获取的是相除的结果,一般为浮点数] 方法二:使用divmod()函数,获取商和余数组成的元祖 实例代码: #!/usr/ ...

  9. python如何收集数据的方法有哪些_class类在python中获取金融数据的实例方法

    我们搜集金融数据,通常想要的是利用爬虫的方法.其实我们最近所学的class不仅可以进行类调用,在获取数据方面同样是可行的,很多小伙伴都比较关注理财方面的情况,对金融数据的需要也是比较多的.下面就cla ...

最新文章

  1. 学习C语言必须知道的理论知识(第一章)
  2. 阿里、京东、快手、华为......他们是如何构建一个个推荐系统“帝国”的?
  3. 使用Atomikos Transactions Essentials实现多数据源JTA分布式事务--转载
  4. Regtech半月观察(9月上)
  5. ctf.show-萌新计划(1-7)
  6. loadrunner中并发数与迭代的区别
  7. openshift4离线部署_OpenShift 4.2 离线安装补充记录
  8. web页面如何实现点击按钮进行手机拨号?
  9. Java 设计模式之 Visitor 访问者模式
  10. python基础列表(四)
  11. [译]git fetch
  12. 原生JS 将canvas生成图片
  13. android与php登录,Android开发中使用PHP服务器怎么实现一个登录功能
  14. 楼天成 中国大学生编程第一人
  15. luarocks argparse
  16. 关于Albedo贴图、颜色贴图、Metallic 贴图、Specular贴图、法线贴图、视差贴图、凹凸贴图、Height Map高度贴图、AO 贴图Occlusion 贴图、Emission 贴图等
  17. nb信号和4g信号_NB-IoT DTU与4G DTU有什么不同之处
  18. 互联网公司数据产品经理和数据分析师,主要有什么区别?
  19. Steam平台3款2D游戏开发软件对比(转)
  20. BlackBerry上网初体验

热门文章

  1. linux复制和剪切命令,Linux命令 复制粘贴剪切
  2. 开发者福利:史上最全Android 开发和安全系列工具
  3. 计算代码重复率_了解了知网大学生论文查重原理,重复率想高于6%都难!
  4. JZOJ 5700. 【gdoi2018 day1】小学生图论题(graph)
  5. mysql数据首次导入hive_sqoop1.4.7环境搭建及mysql数据导入导出到hive
  6. 和nptf螺纹一样吗_摩托车火花塞长短不同,对发动机有影响吗?
  7. java web文件夹_JAVA WEB项目文件夹上传下载解决方案
  8. python数字编码_Python 编码为什么那么蛋疼?
  9. 调用手机相机相册_如果你用华为手机拍照!记得开启专业模式,照片好看十倍不止...
  10. 校运动会c语言程序编写,校运动会管理系统报告C语言(含完整代码)