python的排序模块bisect

Posted 樊海鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的排序模块bisect相关的知识,希望对你有一定的参考价值。

一个有趣的python排序模块:bisect
       今天同事说到了一个python的排序模块bisect,觉得挺有趣的,跟大家分享分享。


       先看看模块的结构:


      


       前面五个属性大家感兴趣可以打出来看看数值,这里就不介绍了。


       先说明的是,使用这个模块的函数前先确保操作的列表是已排序的。


      


       先看看 insort  函数:


       


       其插入的结果是不会影响原有的排序。


       再看看 bisect  函数:


       


       其目的在于查找该数值将会插入的位置并返回,而不会插入。


       接着看 bisect_left 和 bisect_right 函数,该函数用入处理将会插入重复数值的情况,返回将会插入的位置:


       


       其对应的插入函数是 insort_left  和 insort_right :


       


       可见,单纯看其结果的话,两个函数的操作结果是一样的,其实插入的位置不同而已。

以上是关于python的排序模块bisect的主要内容,如果未能解决你的问题,请参考以下文章

python的排序模块bisect

python中的bisect模块

python 模块之 bisect

Python 二分查找与 bisect 模块

bisect 二分查找

bisect维护已排序的序列