天天看點

Python 中的bisect

python 中的bisect用于操作排序的數組,比如你可以在向一個數組插入資料的同時進行排序。下面的代碼示範了如何進行操作:

輸出結果為:

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

此函數bisect.bisect(list,key) ,猶如java裡的treemap的tailmap(fromkey)