亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python中bisect的用法

系統 1915 0

本文實例講述了Python中bisect的用法,是一個比較常見的實用技巧。分享給大家供大家參考。具體分析如下:

一般來說,Python中的bisect用于操作排序的數組,比如你可以在向一個數組插入數據的同時進行排序。下面的代碼演示了如何進行操作:

            
import bisect
import random
random.seed(1)
print('New pos contents')
print('-----------------')
l=[]
 
for i in range(1,15):
  r=random.randint(1,100)
  position=bisect.bisect(l,r)
  bisect.insort(l,r)
  print '%3d %3d'%(r,position),l


          

輸出結果為:

            
New pos contents
-----------------
 14  0 [14]
 85  1 [14, 85]
 77  1 [14, 77, 85]
 26  1 [14, 26, 77, 85]
 50  2 [14, 26, 50, 77, 85]
 45  2 [14, 26, 45, 50, 77, 85]
 66  4 [14, 26, 45, 50, 66, 77, 85]
 79  6 [14, 26, 45, 50, 66, 77, 79, 85]
 10  0 [10, 14, 26, 45, 50, 66, 77, 79, 85]
 3  0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85]
 84  9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85]
 44  4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]
 77  9 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
 1  0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]


          

可以看到,在插入這些隨機數的時候數組同時進行了排序。不過其中有一些重復的元素,比如上面的77,77。你可以對這些重復元素的順序進行設置,如果希望重復的元素出現在與他相同的元素左邊就是用bisect_left,否則就是用bisect_right,相應的使用insort_left和insort_right。比如下面的代碼,我們可以看到出現重復的元素索引變化:

            
import bisect
import random
random.seed(1)
print('New pos contents')
print('-----------------')
l=[]
 
for i in range(1,15):
  r=random.randint(1,100)
  position=bisect.bisect_left(l,r)
  bisect.insort_left(l,r)
  print '%3d %3d'%(r,position),l


          

輸出結果為:

            
New pos contents
-----------------
 14  0 [14]
 85  1 [14, 85]
 77  1 [14, 77, 85]
 26  1 [14, 26, 77, 85]
 50  2 [14, 26, 50, 77, 85]
 45  2 [14, 26, 45, 50, 77, 85]
 66  4 [14, 26, 45, 50, 66, 77, 85]
 79  6 [14, 26, 45, 50, 66, 77, 79, 85]
 10  0 [10, 14, 26, 45, 50, 66, 77, 79, 85]
 3  0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85]
 84  9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85]
 44  4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]
 77  8 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
 1  0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]


          

此函數bisect.bisect(list,key) ,猶如java里的TreeMap的tailMap(fromkey)。

希望本文所述對大家的Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日日摸天天摸狠狠摸摸 | 久久成年人| 中文字幕亚洲无线码在线一区 | 欧美一级黄色录像 | 欧美成人精品一级高清片 | 四虎影视1304t | 99re这里只有精品国产精品 | 精品亚洲大全 | 精产国品一二二区视 | 国产成人一级片 | 精品人人 | 狠狠干夜夜草 | 伊人一本之道 | 神马九九 | 色偷偷久久一区二区三区 | 国产成人亚洲综合网站不卡 | 亚洲国产99999在线精品一区 | 亚洲视频免 | 欧美成人欧美激情欧美风情 | 麻豆va一区二区三区久久浪 | 国产亚洲精品sese在线播放 | 国产精品久久久免费视频 | 精品热99 | 男人猛躁女人成人免费视频 | 久久国产免费 | 水中色av综合 | 久久国产成人亚洲精品影院老金 | 一区二区三区网站在线免费线观看 | 日本欧美黄色 | 成年女人免费看片 | 国产精品免费入口视频 | 欧美一级成人一区二区三区 | 一区二区三区在线观看免费 | 日本又黄又爽又色的免费视频 | 国产精品久久久久一区二区三区 | 乱人伦精品一区二区 | 日日天干夜夜人人添 | 久久精品伊人波多野结 | 亚洲精品国产综合久久一线 | aaaa在线观看 | 四虎成人免费网站在线 |