最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)返回數(shù)組中第i小元素的方法示例

 更新時間:2017年12月04日 11:17:31   作者:愛橙子的OK繃  
這篇文章主要介紹了Python實現(xiàn)返回數(shù)組中第i小元素的方法,結(jié)合實例形式分析了Python針對數(shù)組的遍歷、排序、運算等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)返回數(shù)組中第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即可使循環(huán)不變量繼續(xù)保持;
      如果a[j]<=x,則將下標(biāo)i的值加1,并交換a[i]和a[j],再將
      j的值加1.此時循環(huán)不變量同樣得到保持'''
      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) #生成的隨機數(shù)為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 "腳本之家測試結(jié)果:"
  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]#數(shù)組中的第三小的數(shù)
  a=sorted(a)
  print a

運行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)組操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python數(shù)據(jù)結(jié)構(gòu)與算法教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • 在Django中使用Sitemap的方法講解

    在Django中使用Sitemap的方法講解

    這篇文章主要介紹了在Django中使用Sitemap的方法講解,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python登錄系統(tǒng)界面實現(xiàn)詳解

    Python登錄系統(tǒng)界面實現(xiàn)詳解

    這篇文章主要介紹了Python登錄系統(tǒng)界面實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • Selenium alert 彈窗處理的示例代碼

    Selenium alert 彈窗處理的示例代碼

    這篇文章主要介紹了Selenium alert 彈窗處理的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 讓文件路徑提取變得更簡單的Python Path庫

    讓文件路徑提取變得更簡單的Python Path庫

    這里我們介紹 Python3 自帶的庫 Path,可以讓我們使用更少的代碼但是與之而來的是更高的效率,文中有非常詳細(xì)的介紹及代碼示例 ,需要的朋友可以參考下
    2021-05-05
  • Python+Empyrical實現(xiàn)計算風(fēng)險指標(biāo)

    Python+Empyrical實現(xiàn)計算風(fēng)險指標(biāo)

    Empyrical 是一個知名的金融風(fēng)險指標(biāo)庫。它能夠用于計算年平均回報、最大回撤、Alpha值等。下面就教你如何使用 Empyrical 這個風(fēng)險指標(biāo)計算神器
    2022-05-05
  • 使用python對文件中的單詞進(jìn)行提取的方法示例

    使用python對文件中的單詞進(jìn)行提取的方法示例

    這篇文章主要介紹了使用python對文件中的單詞進(jìn)行提取的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 用 Python 爬了爬自己的微信朋友(實例講解)

    用 Python 爬了爬自己的微信朋友(實例講解)

    下面小編就為大家?guī)硪黄?Python 爬了爬自己的微信朋友(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Python 3.3實現(xiàn)計算兩個日期間隔秒數(shù)/天數(shù)的方法示例

    Python 3.3實現(xiàn)計算兩個日期間隔秒數(shù)/天數(shù)的方法示例

    這篇文章主要介紹了Python 3.3實現(xiàn)計算兩個日期間隔秒數(shù)/天數(shù)的方法,結(jié)合實例形式較為詳細(xì)的分析了基于Python3.3的日期時間轉(zhuǎn)換與運算相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • PyQt5 文本輸入框自動補全QLineEdit的實現(xiàn)示例

    PyQt5 文本輸入框自動補全QLineEdit的實現(xiàn)示例

    這篇文章主要介紹了PyQt5 文本輸入框自動補全QLineEdit的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python迭代器的實現(xiàn)原理

    Python迭代器的實現(xiàn)原理

    這篇文章主要介紹了Python迭代器的實現(xiàn)原理,文章基于python的相關(guān)資料展開對Python迭代器的詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-05-05

最新評論

鄯善县| 蒲城县| 蚌埠市| 肃南| 宾川县| 南陵县| 澄城县| 汕尾市| 金华市| 巴彦淖尔市| 牙克石市| 新蔡县| 星子县| 温州市| 大洼县| 柳江县| 江北区| 乐陵市| 吴江市| 荃湾区| 霸州市| 碌曲县| 安福县| 恭城| 江永县| 朝阳市| 修水县| 年辖:市辖区| 新宁县| 苏尼特左旗| 三原县| 桂阳县| 洛浦县| 疏附县| 嘉义市| 轮台县| 边坝县| 冀州市| 丘北县| 新源县| 南宁市|