脚本专栏 
首页 > 脚本专栏 > 浏览文章

Python中bisect的用法及示例详解

(编辑:jimmy 日期: 2025/2/27 浏览:3 次 )

bisect是python内置模块,用于有序序列的插入和查找。

  • 查找: bisect(array, item)
  • 插入: insort(array,item)

查找

import bisect
 
a = [1,4,6,8,12,15,20]
position = bisect.bisect(a,13)
print(position)
 
# 用可变序列内置的insert方法插入
a.insert(position,13)
print(a)

输出:

5
[1, 4, 6, 8, 12, 13, 15, 20]

 插入

使用bisect.insort,比bisect先查找该插入哪个位置,再用insert方法插入更加快速的方法

import bisect
 
a = [1,4,6,8,12,15,20]
bisect.insort(a,13)
print(a)

[1, 4, 6, 8, 12, 13, 15, 20]

NOTE

bisect还有bisect_left,insort_left的用法,和不带left的用法的区别是:当插入的元素和序列中的某一个元素相同时,该插入到该元素的前面(左边,left),还是后面(右边);如果是查找,则返回该元素的位置还是该元素之后的位置。

上一篇:用pandas划分数据集实现训练集和测试集
下一篇:Python数据可视化实现漏斗图过程图解
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。