返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/15759.html(转载时请注明来源链接)

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

猜你喜欢
  • Python实现返回数组中第i小元素的方法示例
    本文实例讲述了Python实现返回数组中第i小元素的方法。分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 #期望为线性时间的选择算法 impo...
    99+
    2022-06-04
    示例 组中 元素
  • 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 统计列表中重复元素的个数并返回其索引值的实现方法
    需求:统计列表list1中元素3的个数,并返回每个元素的索引 list1 = [3, 3, 8, 9, 2, 10, 6, 2, 8, 3, 4, 5, 5, 4, 1, 5, 9, 7, 10, 2] 在实际工程中...
    99+
    2022-06-02
    Python 统计列表元素 Python 统计列表元素索引值
  • PHP中实现数组元素个数求和的方法
    标题:PHP中实现数组元素个数求和的方法 在PHP开发中,经常会遇到需要对数组中的元素个数进行求和的需求。本文将介绍如何通过PHP代码实现对数组元素个数的求和操作。 在PHP中,可以利...
    99+
    2024-03-13
    遍历 计数 累加 数组求和方法:
  • Python统计列表元素出现次数的方法示例
    1. 引言 在使用Python的时候,通常会出现如下场景: array = [1, 2, 3, 3, 2, 1, 0, 2] 获取array中元素的出现次数 比如,上述...
    99+
    2024-04-02
  • php数组查询元素位置的实例方法
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑 php数组查询元素位置的方法: 方法1:利用array_search()函数 int 1 方法2:利用字符串...
    99+
    2024-04-02
  • 解析Golang中实现数组元素删除的方法
    Golang删除数组中的元素的方法详解,需要具体代码示例 引言:Golang是一种静态类型、编译型的编程语言,以其强大的并发特性和简洁的语法受到了众多开发者的喜爱。在Golang中,数组是一种基本的数据结构,...
    99+
    2024-01-24
  • Mybatis中insert方法返回数字的示例分析
    这篇文章主要介绍了Mybatis中insert方法返回数字的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言:前几天在做项目demo的时候,发现有一个很奇怪的现象,...
    99+
    2023-06-14
  • PHP怎么实现删除数组元素的方法
    这篇文章主要为大家展示了“PHP怎么实现删除数组元素的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP怎么实现删除数组元素的方法”这篇文章吧。解读php.ini的基本概念和配置方法PHP...
    99+
    2023-06-17
  • python实现逻辑回归的方法示例
    本文实现的原理很简单,优化方法是用的梯度下降。后面有测试结果。 先来看看实现的示例代码: # coding=utf-8 from math import exp import matplotlib.p...
    99+
    2022-06-04
    示例 逻辑 方法
  • 如何使用JS编写一个函数返回数组中重复出现过的元素
    这篇文章主要介绍了如何使用JS编写一个函数返回数组中重复出现过的元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:var ...
    99+
    2024-04-02
  • ES5中实现数组map方法的示例分析
    这篇文章主要为大家展示了“ES5中实现数组map方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES5中实现数组map方法的示例分析”这篇文章吧。 ES5 实现数组 map...
    99+
    2023-06-27
  • 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
  • Matlab实现统计集合中各元素出现次数的示例代码
    目录前言工具函数类使用方式统计数字统计单词、名称统计字符完整代码前言 统计数组中各个元素数量是一个很常用的功能,但我试着用了MATLAB中自带的统计函数 tabulate:...
    99+
    2024-04-02
  • java实现二维数组转置的方法示例
    本文实例讲述了java实现二维数组转置的方法。分享给大家供大家参考,具体如下:这里在文件中创建Test2、Exchange、Out三个类在Exchange类中编写exchange()方法,在方法中创建两个数组arraryA、arraryB,...
    99+
    2023-05-31
    java 二维数组 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作