python中的bisect是用二分算法实现,用于处理序列的方法,简单记录一下。

出现场景:设计一个序列,在序列设计完成后要进行排序

  • 演示代码
import bisect
# 需求:1.要处理一个已排序的序列;2.用来维持已排序的序列;3.升序
# 算法原理是二分查找
inter_list = []  # 这里不一定必须是列表,只要是序列类型即可,比如Dqueue

bisect.insort(inter_list, 3)
bisect.insort(inter_list, 5)
bisect.insort(inter_list, 1)
bisect.insort(inter_list, 4)
bisect.insort(inter_list, 2)

print(bisect.bisect_left(inter_list, 3))  # 这一代码的作用是查找intersect中3左边的数字并返回
print(inter_list)
  • 输出结果
2
[1, 2, 3, 4, 5]