import bisect
需要注意一点的是,使用这个模块的函数前,先保证需要操作的列表是已经排好序的。
insort 函数
1、bisect.insort(L,i)
L表示需要操作的列表;i表示需要插入的值
>>> import bisect
>>> l = [1,3,5,7]
>>> bisect.insort(l,4)
>>> l
[1, 3, 4, 5, 7]
2、bisect.insort_left()
这两个函数运行结果看起来一样,但一个是将其插入到相同值的左边,另一个插入到右边
>>> import bisect
>>> l = [1,3,3,5,7]
>>> bisect.insort(l,3)
>>> l
[1, 3, 3, 3, 5, 7]
3、bisect.insort_right()
>>> import bisect
>>> l = [1,3,3,5,7]
>>> bisect.insort(l,3)
>>> l
[1, 3, 3, 3, 5, 7]
bisect 函数
1、bisect.bisect()
这个函数的作用是查找该数值将会插入的位置,并返回
>>> import bisect
>>> l = [1,3,5,7]
>>> bisect.bisect(l,2)
1
2、bisect.bisect_left()
这两个函数,一个是该值将会插入到相同值的左边的位置,另一个是右边
>>> import bisect
>>> l = [1,3,3,5]
>>> bisect.bisect_left(l,3)
1
3、bisect.bisect_right()
>>> import bisect
>>> l = [1,3,3,5]
>>> bisect.bisect_right(l,3)
3