import bisect
#help(bisect)
bi-是二的英语前缀,比如bicycle(两个圆)自行车,bisect在英文中就是动词二分。bisect模块使用前提是已排序好的list。【list能放什么,二分什么(?)。目前已知['a', 'b', 'g']这种也能二分插入】下面就插入、不插入list来讲其中的函数:
1、bisect.insort
基本的insort用于把不重复数值插入数组里,且不会返回插入的位置。
nums = [1, 3, 5, 7, 9]
bisect.insort(nums, 4)
In [1]: nums
Out[1]: [1, 3, 4, 5, 7, 9]
insort_left和insort_right用于把重复数值插入数组里,且不会返回插入的位置。
bisect.insort_left(nums, 4)
In [2]: nums
Out[2]: [1, 3, 4, 4, 5, 7, 9]
# 插入值是nums[2]
bisect.insort_right(nums, 4)
In [3]: nums
Out[3]: [1, 3, 4, 4, 4, 5, 7, 9]
# 插入值是nums[4]
2、bisect.bisect
基本的bisect用于查找不重复数值插入数组的位置,数组不会变化,返回值为index。
In [4]: b