Python小白進階——bisect函數了解一下
阿新 • • 發佈:2018-12-10
"""
bisect 為可排序序列提供二分查詢演算法
"""
import bisect
#使用bisect函式前需要對列表進行排序,否則雖然可以輸出數值,但沒有意義
a = [1, 5, 6, 10, 9]
a.sort()
print("最初的列表:", a)
#bisect.bisect 返回某個數在列表中可以插入的位置,但不會插入該數。
#如果這個數與列表中的元素相同,則返回元素後面的位置
print("6在列表中可以插入的位置:", bisect.bisect(a, 6))
#bisect.insort 將某個數插入列表
bisect.insort(a, 7)
print("在列表中插入7:" , a)
#處理插入數值與列表元素相同的情況,返回位置,但不會插入該數
#bisect.bisect_left 插入元素左側位置;bisect.bisect_right 插入元素右側位置
print("9在列表中可以插入的位置:", bisect.bisect_left(a, 9))
print("9在列表中可以插入的位置:", bisect.bisect_right(a, 9))
#處理插入數值與列表元素相同的情況,插入該數
#bisect.insort_left 插入元素左側位置;bisect.insort_right 插入元素右側位置
bisect.insort_left(a, 9)
print("在列表中插入10:" , a)
bisect.insort_right(a, 10)
print("在列表中插入10:", a)
實驗結果: