返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python如何获取列表(List)的中位数
  • 864
分享到

详解Python如何获取列表(List)的中位数

中位数详解列表 2022-06-04 18:06:20 864人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

前言 中位数是一个可将数值集合划分为相等的上下两部分的一个数值。如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数;如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位

前言

中位数是一个可将数值集合划分为相等的上下两部分的一个数值。如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数;如果列表数据的个数是偶数,则列表中间那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实现获取列表的中位数的全部内容,希望本文的内容对大家学习Python能有所帮助。

--结束END--

本文标题: 详解Python如何获取列表(List)的中位数

本文链接: https://lsjlt.com/news/14398.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Python如何获取列表(List)的中位数
    前言 中位数是一个可将数值集合划分为相等的上下两部分的一个数值。如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数;如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位...
    99+
    2022-06-04
    中位数 详解 列表
  • python如何获取子列表
    小编给大家分享一下python如何获取子列表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!获取子列表x = [1,2,3,4,5,6]#前3个...
    99+
    2023-06-17
  • 解决python列表list中的截取问题
    List(列表)作为python中使用最频繁的数据类型,如果能够把列表掌握,那么对于Python的掌握是有很大帮助的。 并且列表的元素的值是可以修改的 List的格式:(列表中的元素可以是字符串类型,也可以是数字类型...
    99+
    2022-06-02
    python 列表list 列表截取
  • Python中如何获取类属性的列表
    前言 最近工作中遇到个需求是要得到一个类的静态属性,也就是说有个类 Type ,我要动态获取 Type.FTE 这个属性的值。 最简单的方案有两个: getattr(Type, 'FTE') Type....
    99+
    2022-06-04
    列表 类属 Python
  • python如何获取列表长度
    使用python获取列表长度的方法:1.新建python项目;2.定义list列表,并初始化;3.定义计数器;4.使用for循环获取列表长度;具体步骤如下:首先,打开python,并新建一个python项目;python项目创建好后,在项目...
    99+
    2024-04-02
  • python如何获取文件列表
    要获取文件列表,可以使用Python的os模块中的listdir函数。以下是使用该函数获取当前目录下所有文件的示例代码:```pyt...
    99+
    2023-09-22
    python
  • python怎么获取列表中的数据
    要获取列表中的数据,可以使用索引。索引是一个整数值,表示列表中的元素位置,从0开始计数。例如,给定以下列表:```pythonmy_...
    99+
    2023-09-04
    python
  • Java如何获取List<String>中的String详解
    目录前言问题场景问题讨论解决方案本文总结前言 在写这篇文章之前,我几乎没有思路去定义这个问题。只是知道,List<String>是泛型,是接口List<T>的...
    99+
    2024-04-02
  • 获取MySQL表中的列数?
    要获取列的数量,请使用MySQL中的information_schema表的聚合函数count(*)。语法如下,以查找列的数量:SELECT COUNT(*) as anyVariableName from INFORMATION_...
    99+
    2023-10-22
  • python如何获取list中最大的值
    您可以使用内置的 `max()` 函数来获取一个列表中的最大值。以下是一个示例:```pythonmy_list = [1, 2, ...
    99+
    2023-08-18
    python list
  • 我们如何获取现有 MySQL 表中的列列表?
    假设我们忘记了现有表中的列名,那么我们可以使用 SHOWCOLUMNS 语句来获取列的列表 -mysql> SHOW COLUMNS from Employee\G *************************** 1. ro...
    99+
    2023-10-22
  • 如何获取mongodb数据库列表
    要获取MongoDB数据库列表,可以使用MongoDB的命令行工具或编程语言的MongoDB驱动程序。1. 使用MongoDB的命令...
    99+
    2023-09-12
    mongodb数据库
  • python中如何获取和查看列表元素
    这篇文章将为大家详细讲解有关python中如何获取和查看列表元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、获取方法(1)通过索引获取元素元素 = 列表[索引]>>&...
    99+
    2023-06-15
  • 如何使用stream从List对象中获取某列数据
    目录使用stream从List对象中获取某列数据stream通过List里对象中某个属性最小来取该最小对象总结使用stream从List对象中获取某列数据 在 JDK 8 中增加了 ...
    99+
    2022-12-23
    使用stream List获取某列数据 List获取数据
  • python中数组array和列表list如何使用
    这篇文章主要介绍“python中数组array和列表list如何使用”,在日常操作中,相信很多人在python中数组array和列表list如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中...
    99+
    2023-06-30
  • python中list列表的高级函数
    在Python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用,基础知识可以查看博客。 此文章为python英文文档的翻译版本,你也可以查看英文版:http...
    99+
    2022-06-04
    函数 高级 列表
  • ajax中如何获取博文列表
    本篇内容介绍了“ajax中如何获取博文列表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! &nb...
    99+
    2024-04-02
  • mysql如何获取表的列名
    可以使用以下方法获取MySQL表的列名: DESC 命令:使用 DESC 命令可以获取表的结构信息,包括列名、数据类型、键类型等...
    99+
    2023-10-28
    mysql
  • Python的max()函数:获取列表中的最大值
    Python的max()函数:获取列表中的最大值在Python中,max()是一个内置函数,用于获取给定列表中的最大值。它的使用非常简单,只需要将列表作为参数传递给函数即可。例如,我们有一个包含一些数字的列表:numbers = [12, ...
    99+
    2023-11-18
    列表 max函数 获取最大值
  • Python的min()函数:获取列表中的最小值
    Python的min()函数:获取列表中的最小值,需要具体代码示例Python编程语言是一种简单易学且功能强大的语言,它提供了许多内置函数来处理列表和其他数据结构。其中一个非常有用的内置函数就是min()函数,它可以用来获取列表中的最小值。...
    99+
    2023-11-18
    列表 Python min()
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作