1. 程式人生 > >Python小白進階——bisect函數了解一下

Python小白進階——bisect函數了解一下

"""
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)

實驗結果:

實驗結果