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]