import bisect
data = [2,4,7,9]
# * 使用该模块时需确保操作的列表是已排序的
# bisect.insort(list, boj) 在有序列表中插入元素,不影响原有的排序,插入后的列表仍是有序的
bisect.insort(data, 3)
print(data) # data = [2,3,4,7,9] 使用bisect.insort()结果是有序列表
# insort_left 和 insort_right 用于有重复元素的列表,left-插入在重复元素之前,right-插入在重复元素之后
# bisect.bisect(list, obj) 其目的在于查找该数值将会插入的位置并返回,而不会插入
bisect.bisect(data, 1) # 0 返回应该插入的位置
print(data) # data = [2,3,4,7,9]
# bisect_left 和 bisect_right 函数,该函数用入处理将会插入重复数值的情况,返回将会插入的位置
# left-插入在重复元素之前,right-插入在重复