查找插入位置,注意区分:
a = [0,1,2,3,4,5] x = 3bisect.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))