普通方法:

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

def huahua(x):

length = len(x)

print(length)

x.sort()

print(x)

if (length % 2)== 1:

z=length // 2

y = x[z]

else:

y = (x[length//2]+x[length//2-1])/2

return y

l = [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) // 2

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

l = [1,2,3,7,5,6,4,9,8,10]

if __name__ == '__main__':

print(median(l))

python求列表的中位数_python中获取中位数的两种方法相关推荐

  1. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  2. python csv合并单元格_python中合并表格的两种方法

    合并表格要注意的是设置表格的表头,也就是是将表格第一列设置为合并表格的索引,这样合并表格的时候就会合并两个表格第一列的元素相同的行. 方法一:使用join合并import numpy as np im ...

  3. android camera工程师,Android从Camera中获取图片的两种方法

    方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 /**   启动Camera */ private void intentCamera(){ try { ...

  4. python 执行shell 事务_python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  5. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  6. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  7. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  8. 站长在线Python精讲:在Python中格式化字符串的两种方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...

  9. 高级 | Java中获取类名的3种方法

    转载自 高级 | Java中获取类名的3种方法 获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonical ...

最新文章

  1. Python openpyxl 之 Excel 文档简单操作
  2. Kubernetes(五) - Service
  3. Linux_Command
  4. oracle字段公式怎么执行,Oracle 在存储过程或函数中执行字符串sql PDF 下载
  5. cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
  6. Bootstrap3 警告框插件的事件
  7. js+springMVC 提交数组数据到后台
  8. 201512-1-数位之和
  9. 统计学习方法读书笔记6-K近邻算法及代码实现
  10. 实验四【bx】和loop的使用
  11. 细说IIR滤波器和FIR滤波器的区别
  12. PHP 大地坐标系转高德经纬度
  13. 51单片机学习:串口通信实验
  14. 英特尔显卡linux管理_Intel Linux 显卡驱动安装指南
  15. Vicdas实时历史库数据库 v2.3.0.201206
  16. Mac M1芯片处理器能用的Bridge 2020/2019 for mac 解决M1版MAC安装BR无法安装问题 完美支持M1芯片处理器
  17. 做网站需要用到哪些开发软件——心得分享
  18. 08 | QPaint绘图类
  19. Chrome中实现使用迅雷一次性选中并下载网页内全部链接的方法
  20. 红帽linux改root密码,Redhat 7.6 主机强制修改root密码及配置网关

热门文章

  1. 【tkinter组件专栏】Scrollbar:横滚竖滚滚动条
  2. ad账户与linux集成,Ubuntu 通过ldap集成AD账号登录(nslcd方式)
  3. RetinaNet论文详解Focal Loss for Dense Object Detection
  4. Vue的大坑 input手动赋值后无法修改问题
  5. 教你怎么将所有文件名称进行替换
  6. 程序员时事面试题——地震预测
  7. mtd和mtdblock的区别
  8. python获取每日支付宝与银行卡账单
  9. 朋友圈被公司“无偿征用”,该怎么办?
  10. 如何将大数组转成BIN文件