国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中bisect的用法

2019-11-25 18:12:30
字體:
來源:轉載
供稿:網友

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

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

import bisectimport randomrandom.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 bisectimport randomrandom.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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 迭部县| 沂源县| 三江| 马龙县| 简阳市| 潮安县| 腾冲县| 卢湾区| 饶阳县| 瑞安市| 恩平市| 榆林市| 开原市| 孝义市| 阿拉善盟| 郓城县| 井冈山市| 和龙市| 双柏县| 丹棱县| 军事| 施秉县| 寿光市| 无极县| 阳山县| 嘉定区| 元阳县| 黎川县| 海南省| 文山县| 两当县| 乡城县| 扎兰屯市| 岱山县| 泸定县| 本溪市| 株洲县| 重庆市| 石河子市| 郸城县| 彰化市|