一个有趣的python排序模块:bisect

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

       先看看模块的结构:

      

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

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

      

       先看看 insort  函数:

       

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

       再看看 bisect  函数:

       

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

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

       

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

       

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

posted on   星河赵  阅读(10376)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示