python怎么读取列表-Python如何获取列表(List)的中位数
前言
中位数是一个可将数值集合划分为相等的上下两部分的一个数值。如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数;如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位数。在这个任务里,你将得到一个含有自然数的非空数组(X)。你必须把它分成上下两部分,找到中位数。
输入: 一个作为数组的整数(int)列表(list)的。
输出: 数组的中位数(int, float).
示例
get_median([1, 2, 3, 4, 5]) == 3
get_median([3, 1, 2, 5, 3]) == 3
get_median([1, 300, 2, 200, 1]) == 2
get_median([3, 6, 20, 99, 10, 15]) == 12.5
如何使用:中位数在概率论和统计学中得到应用,它偏态分布中有显著的价值。例如:我们想从一组数据中知道人们的平均财富 -- 100人一个月收入100美元,10人一个月收入1,000,000美元。如果我们算平均值,得到的是91000美元。这是一个完全没有向我们展示真实情况的奇怪的值。所以在这种情况下,中位数会给我们更有用的值和较好的描述。
前提:1 < len(data) ≤ 1000 all(0 ≤ x < 10 ** 6 for x in data)
普通方法:
对列表进行排序,针对列表长度是奇数还是偶数的不同情况,计算中位数。
def get_median(data):
data = sorted(data)
size = len(data)
if size % 2 == 0: # 判断列表长度为偶数
median = (data[size//2]+data[size//2-1])/2
data[0] = median
if size % 2 == 1: # 判断列表长度为奇数
median = data[(size-1)//2]
data[0] = median
return data[0]
最佳方法:
这个解决方法非常巧妙,它利用了取反数和为1的特性,通过列表负索引来获得列表中位数。
对 return (data[half] + data[~half]) / 2的解释:
排序后得到序列[1,2,3,4,5,6],其列表长度为偶数,中位数由列表中间两位元素3(索引为2),4(索引为3)决定。而元素4的负索引为-3,正好是索引2的取反数。
排序后得到序列[1,2,3,4,5],其列表长度为奇数,中位数由列表中间元素3(索引为2,负索引为-3)决定。仍然符合代码。
def get_median(data):
data.sort()
half = len(data) // 2
return (data[half] + data[~half]) / 2
更多Python如何获取列表(List)的中位数相关文章请关注PHP中文网!
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
python怎么读取列表-Python如何获取列表(List)的中位数相关推荐
- python怎么读取文件-python怎么读写文件操作
本节内容:I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input/ ...
- python怎么读取文件-python怎么读取文件内容
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError的错误. 完整的语法格式为:(推荐学习:Pytho ...
- python文件读取输出-Python 读写文件中数据
1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图 图2 输出文件 h264 ...
- python文件读取数据-Python从文件中读取数据
一.读取整个文件内容 在读取文件之前,我们先创建一个文本文件resource.txt作为源文件. resource.txt my name isjoker, I am18years old, How ...
- python无法读取文件-Python读取文件
========== 本文记录使用Python在读取文件时的一些心得体会. 不能decode bytes 使用open方法读取文件时,经常会遇到这样的问题: UnicodeDecodeError: ' ...
- python批量读取grib_windows python读取grib2数据
一.环境准备 (1).python3环境 (3).wgirb2工具(用于读取grib2文件),下载地址:ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2 二.环境测试 ...
- python如何取map中的元素_在Python中使用map()获取列表元素在字符串中存在的次数...
下面是对goalPost移动的一个响应("我可能需要regex,因为在不久的将来我将需要单词分隔符"): 此方法解析文本一次,以获得所有"单词"的列表.每个单词 ...
- python字典读取特定值_python 获取字典特定值对应的键的实现
对于字典,通过"键"获得"值"非常简单,但通过"值"获得"键"则需绕些弯子. 一.通用:自行定义函数方式 假设: 输入: ...
- python csv读取-使用python获取csv文本的某行或某列数据的实例
站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存 ...
- python怎么读取github_六行代码获取Github排名前10的Python项目
六行代码获取Github排名前10的Python项目 Github开放了不少API.下面是对这些API的一个使用. # 获取返回信息 import requests as r url="ht ...
最新文章
- 海思3559A上编译libjpeg-turbo源码操作步骤
- WPF下可编辑Header的Tab控件实现
- iOS js oc相互调用(JavaScriptCore)(二)
- 2017-2018-2 20179204《网络攻防实践》第八周学习总结
- 在ubuntu中使用MYBASE
- 产品经理思维模型:传播三大原理
- Win10系统怎么映射网络驱动器?
- rj45管脚定义_RJ45接口定义
- 植物大战僵尸:游戏中的“修改器【Python】”一定是作弊?善用增加趣味性!
- JAVA设计模式-11-代理模式(动态)(一)
- 2021-11-06大数据学习日志——数据埋点+网络爬虫——数据提取
- gis统计百分比_详细讲解ArcGIS数据统计及字段计算
- vue 用key拿对象value_基于vue--key值的特殊用处详解
- 微信内测新功能(深度清理),瞬间释放几个G内存!
- 笔记本键盘 Fn 键 的锁定与解锁
- 【无标题】ChatGPT的官网是多少,在国内能使用吗
- C语言读书1000字报告,c语言实验一实验报告1000字范文.docx
- Python/numpy 设置数组某一整行列的值为0/1 修改数组行列设置为特定值
- 智能硬件蓝牙配网方案概要
- 谷歌学术里面的代码查找
热门文章
- 【编程题目】调整数组顺序使奇数位于偶数前面
- NOI2004 郁闷的出纳税——SBT应用
- Oracle根据日期计算某月的天数
- WebForm实现增删改查
- node+ejs模板引擎的应用
- 异常处理第三讲,SEH(结构化异常处理),异常展开问题
- 太白---落燕纷飞第一重 Android单元測试Instrumentation和irobotium
- $each $position $sort $slice
- .NET Core的日志[4]:将日志写入EventLog
- Android运行出现“java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。”...