Python排序bisect模块

import bisect

需要注意一点的是,使用这个模块的函数前,先保证需要操作的列表是已经排好序的。

insort 函数

1、bisect.insort(L,i)

L表示需要操作的列表;i表示需要插入的值


>>> import bisect
>>> l = [1,3,5,7]
>>> bisect.insort(l,4)
>>> l
[1, 3, 4, 5, 7]

2、bisect.insort_left()

这两个函数运行结果看起来一样,但一个是将其插入到相同值的左边,另一个插入到右边

>>> import bisect
>>> l = [1,3,3,5,7]
>>> bisect.insort(l,3)
>>> l
[1, 3, 3, 3, 5, 7]

3、bisect.insort_right()

>>> import bisect
>>> l = [1,3,3,5,7]
>>> bisect.insort(l,3)
>>> l
[1, 3, 3, 3, 5, 7]

bisect 函数

1、bisect.bisect()

这个函数的作用是查找该数值将会插入的位置,并返回

>>> import bisect
>>> l = [1,3,5,7]
>>> bisect.bisect(l,2)
1

2、bisect.bisect_left()

这两个函数,一个是该值将会插入到相同值的左边的位置,另一个是右边

>>> import bisect
>>> l = [1,3,3,5]
>>> bisect.bisect_left(l,3)
1

3、bisect.bisect_right()

>>> import bisect
>>> l = [1,3,3,5]
>>> bisect.bisect_right(l,3)
3

猜你喜欢

转载自blog.csdn.net/qq_46500711/article/details/122868466