iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现返回数组中第i小元素的方法示例
  • 241
分享到

Python实现返回数组中第i小元素的方法示例

示例组中元素 2022-06-04 19:06:32 241人浏览 泡泡鱼

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

摘要

本文实例讲述了python实现返回数组中第i小元素的方法。分享给大家供大家参考,具体如下: #! /usr/bin/env Python #coding=utf-8 #期望为线性时间的选择算法 impo

本文实例讲述了python实现返回数组中第i小元素的方法。分享给大家供大家参考,具体如下:


#! /usr/bin/env Python
#coding=utf-8
#期望为线性时间的选择算法
import random
class RandomSelect(object):
  def Partition(self,a, p, r):
    x=a[r]
    i=p-1
    for j in range(p, r):
      '''如果a[j]>x,则只需将j的值加1即可使循环不变量继续保持;
      如果a[j]<=x,则将下标i的值加1,并交换a[i]和a[j],再将
      j的值加1.此时循环不变量同样得到保持'''
      if a[j]<=x:
        i=i+1
        a[i], a[j]=a[j], a[i]
    a[i+1], a[r]=a[r], a[i+1]
    return i+1
  def RandomPartition(self,a, p, r):
    i=random.randint(p, r) #生成的随机数为p=<i<=r
    a[r], a[i]=a[i], a[r]
    return self.Partition(a, p, r)
  def randomSelect(self,a,p,r,i):
    if p==r:
      return a[p]
    q=self.RandomPartition(a,p,r)
    k=q-p+1
    if i==k:
      return a[q]
    elif i<k:
      return self.randomSelect(a,p,q-1,i)
    else:
      return self.randomSelect(a,q+1,r,i-k)
if __name__ == '__main__':
  print "编程测试结果:"
  a=[random.randint(0,20) for i in range(10)]
  print a
  #a=sorted(a)
  #print a
  r=RandomSelect()
  r.randomSelect(a,0,len(a)-1,3)
  print a[2]#数组中的第三小的数
  a=sorted(a)
  print a

运行结果:

查看图片

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数组操作技巧总结》、《Python字符串操作技巧汇总》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python数据结构与算法教程》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: Python实现返回数组中第i小元素的方法示例

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP删除数组中的第一个元素,并返回被删除元素的值
    ...
    99+
    2024-04-02
  • python中int返回的方法示例
    这篇文章给大家分享的是有关python中int返回的方法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)...
    99+
    2023-06-14
  • C# 数组删除元素的实现示例
    本文主要介绍了C# 数组删除元素的实现示例,具体如下: using System; using System.Collections.Generic; using System....
    99+
    2024-04-02
  • JavaScript如何返回数组中通过测试的第一个元素的值
    这篇文章给大家分享的是有关JavaScript如何返回数组中通过测试的第一个元素的值的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。返回数组中通过测试(函数fn内判断)的第一个元素的值Array.prototype...
    99+
    2023-06-03
  • Python统计列表元素出现次数的方法示例
    1. 引言 在使用Python的时候,通常会出现如下场景: array = [1, 2, 3, 3, 2, 1, 0, 2] 获取array中元素的出现次数 比如,上述...
    99+
    2024-04-02
  • PHP中实现数组元素个数求和的方法
    标题:PHP中实现数组元素个数求和的方法 在PHP开发中,经常会遇到需要对数组中的元素个数进行求和的需求。本文将介绍如何通过PHP代码实现对数组元素个数的求和操作。 在PHP中,可以利...
    99+
    2024-03-13
    遍历 计数 累加 数组求和方法:
  • 解析Golang中实现数组元素删除的方法
    Golang删除数组中的元素的方法详解,需要具体代码示例 引言:Golang是一种静态类型、编译型的编程语言,以其强大的并发特性和简洁的语法受到了众多开发者的喜爱。在Golang中,数组是一种基本的数据结构,...
    99+
    2024-01-24
  • php数组查询元素位置的实例方法
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑 php数组查询元素位置的方法: 方法1:利用array_search()函数 int 1 方法2:利用字符串...
    99+
    2024-04-02
  • Mybatis中insert方法返回数字的示例分析
    这篇文章主要介绍了Mybatis中insert方法返回数字的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言:前几天在做项目demo的时候,发现有一个很奇怪的现象,...
    99+
    2023-06-14
  • PHP怎么实现删除数组元素的方法
    这篇文章主要为大家展示了“PHP怎么实现删除数组元素的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP怎么实现删除数组元素的方法”这篇文章吧。解读php.ini的基本概念和配置方法PHP...
    99+
    2023-06-17
  • ES5中实现数组map方法的示例分析
    这篇文章主要为大家展示了“ES5中实现数组map方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES5中实现数组map方法的示例分析”这篇文章吧。 ES5 实现数组 map...
    99+
    2023-06-27
  • 如何使用JS编写一个函数返回数组中重复出现过的元素
    这篇文章主要介绍了如何使用JS编写一个函数返回数组中重复出现过的元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:var ...
    99+
    2024-04-02
  • php如何实现二维增加数组元素的方法
    这篇文章给大家分享的是有关php如何实现二维增加数组元素的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php二维增加数组元素的方法:首先创建一个二维数组“$consult”;然后把“$arr”的元素追加到“...
    99+
    2023-06-15
  • python中list列表删除元素的四种方法实例
    目录在python列表中删除元素主要分为以下3种场景:del:根据索引值删除元素pop():根据索引值删除元素remove():根据元素值进行删除clear():删除所有元素补充: ...
    99+
    2024-04-02
  • C#实现数组元素的数据类型转换方法详解
    目录一、场景假设二、解决方案三、问题延伸四、数组类的静态转换方法五、刨根问底一、场景假设 假设有一串字符串如下所示,字符串中的数字之间已用英文状态下的逗号隔开。要求用此字符串中的数字...
    99+
    2024-04-02
  • java实现二维数组转置的方法示例
    本文实例讲述了java实现二维数组转置的方法。分享给大家供大家参考,具体如下:这里在文件中创建Test2、Exchange、Out三个类在Exchange类中编写exchange()方法,在方法中创建两个数组arraryA、arraryB,...
    99+
    2023-05-31
    java 二维数组 ava
  • Matlab实现统计集合中各元素出现次数的示例代码
    目录前言工具函数类使用方式统计数字统计单词、名称统计字符完整代码前言 统计数组中各个元素数量是一个很常用的功能,但我试着用了MATLAB中自带的统计函数 tabulate:...
    99+
    2024-04-02
  • Vue3将组件手动渲染到指定元素中的方法实现
    目录将组件转换为自定义元素Vue 的多应用实例一些第三方库内部创建的元素,并不是由 Vue 管理的。比如 ECharts,Antv 等图表库中的自定义图形节点。这些库或许支持使用 H...
    99+
    2023-05-17
    Vue3 渲染组件 Vue3 组件渲染到指定元素
  • Vue中请求本地JSON文件并返回数据的方法实例
    目录1.目录结构2.检查一下自己是否安装了 json-server(以下截图代表安装了)3.安装完成以后我们就可以运行自己的json文件了4.看看浏览器里的数据呈现效果吧5.为了保险...
    99+
    2022-11-13
    vue请求本地json文件 vue获取json文件数据 vue引入本地json文件
  • 微信小程序如何实现页面跳转与返回并回传数据的方法
    小编给大家分享一下微信小程序如何实现页面跳转与返回并回传数据的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!微信小程序 详解页面跳转与返回并回传数据A页面:.wxml文件<vie...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作