查找插入位置,注意区分:
a = [0,1,2,3,4,5] x = 3
bisect.bisect_left(a, x, lo=0, hi=len(a)
返回 3【x把a分为两部分:[0,1,2] [3, 4,5]
bisect.bisect_right(a, x, lo=0, hi=len(a))
返回 4【x把a分为两部分:[0,1,2,3] [4,5]
bisect.bisect(a, x, lo=0, hi=len(a))
返回 4【x把a分为两部分:[0,1,2,3] [4,5]
举个例子 ,考试成绩分5档:
F:小于60分
D:大于等于60分
C:大于等于70分
B:大于等于80分
A:大于等于90分
直接插入:a.insert()
bisect.insort_left(a, x, lo=0, hi=len(a))
= a.insert(bisect.bisect_left(a, x, lo, hi), x)
bisect.insort_right(a, x, lo=0, hi=len(a))
bisect.insort(a, x, lo=0, hi=len(a))