import bisect
print(dir(bisect))
看看模块的结构:
#['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'bisect',
## 'bisect_left', 'bisect_right', 'insort', 'insort_left', 'insort_right']
data = [4,2,9,7]
data.sort()
print(data)
#[2, 4, 7, 9]
先看看 insort 函数:
bisect.insort(data,3)
print(data)
#[2, 3, 4, 7, 9]
bisect.insort(data,1)
print(data)
#[1, 2, 3, 4, 7, 9]
接着看 bisect_left 和 bisect_right 函数,该函数用入处理将会插入重复数值的情况,返回将会插入的位置:
print(bisect.bisect_left(data,4))
print(bisect.bisect_right(data,7))
其对应的插入函数是 insort_left 和 insort_right :
bisect.insort_left(data,8)
bisect.insort_right(data,8)
print(data)
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/9546568.html