今天在leetcode刷题,看到评论区有大神给出解答里涉及到了这个模块,学习记录一下!
参考python3.8官方api
模块中的函数
先来看看一些函数的效果:
-
bisect.bisect_left(x,a,lo=0,hi=len(x))
这个函数的作用是从x中找到a合适的插入位置(如果x中含有与a相同的元素,则插入到其左侧),从而不破坏有序序列。只是找到插入点,并不会进行插入操作
x: 列表或元组;
a: int整数;
lo\hi: lo和hi分别代表插入是x要考虑的左边界和右边界,默认情况下不写这两个参数就代表考虑整个列表/元组;
返回值: 返回值是插入的位置index -
bisect.bisect_right(x,a,lo=0,hi=len(x))
类似于bisect.bisect_left,不同的在于当遇到相同元素是插入在其右侧。 -
bisect.insort_left(x,a,lo=0,hi=len(x))
将a插入到 有序序列 x中,参数与bisect_left类似。 -
bisect.insort_right(x,a,lo=0,hi=len(x))
类似于bisect.insort_right(x,a,lo=0,hi=len(x)),不同的在于当遇到相同元素是插入在其右侧。