import bisect
b=[2,3,4,5]
bisect.insort_left(b,2.0)
bisect.insort_right(b,3.0)
print(bisect.bisect_left(b,2))
print(bisect.bisect_right(b,2))
print(b)
列印結果:
0
2[2.0, 2, 3, 3.0, 4, 5]
1.其中 bisect.insort_left 和bisect.insort_right 都是在序列插入資料. 當有相同的值得時候,這個時候系統就不知道怎麼排序了.例如 2.0==2,系統為了解決這個問題所以搞出來這個方法,系統預設的是right. 通過上邊的例子可以看出效果.
2. bisect.bisect_left 和bisect_bisect_right , 開發插入資料的時候提前要知道 這個資料插入列表到底在哪個位置.所以得出這兩個方法. 可以參考下上邊的例子,自己體會下.
看下 它自動排序的威力
import bisect
a=["c","dd","m",]
bisect.insort(a,"e")
bisect.insort(a,"eeee")
bisect.insort_right(a,"eeeeeeee")
bisect.insort(a,"ddd")
print(bisect.bisect(a,"ddd"))
print(bisect.bisect_left(a,"ddd"))
print(a)
列印結果:
3
2['c', 'dd', 'ddd', 'e', 'eeee', 'eeeeeeee', 'm']
python是誰維護的 Python模組維護
模組 在python中,乙個.py檔案,就是乙個模組。cpython虛擬機器自己模擬了程序和執行緒的概念。在cpython初始化執行環境的時候,會建立乙個空的程序,進而在程序中建立乙個空的執行緒。cpython對模組維護的策略是 python中所有的模組都被維護在程序中,而所有的執行緒共享程序中的模...
3二維陣列查詢python
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 1 從右上角開始 2 如果該元素大於target,則向左移一位 3 如果該元素小於target,則向下移一位 array 二維列...
Python處理高光譜資料 3 降維
用到的庫 matplotlib scipy spectral 主要內容 主成分分析 pca 與線性判別 lda 歡迎有興趣的朋友交流指點。最後,廢話不多說直接上 import matplotlib.pyplot as plt from scipy.io import loadmat import s...