px普贤教程PuXian
普贤教程 › 包参考

bisect 包

有序序列二分查找/插入

项值
包名bisect
版本0.2.0
可用版本0.1.0 / 0.2.0
入口bisect.px
分类数据结构
文件数 / 行数1 / 129

安装与引入

bash
pxpkg init          # 首次
pxpkg add bisect@0.2.0
pxpkg install
px
import bisect
所属分类教程:数据结构

公开接口

函数参数
bi_lefta, x
bi_righta, x
bi_insort_lefta, x
bi_insort_righta, x
其余 9 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
bi_copya
bi_insert_ata, x, idx
bi_searcha, x
bi_containsa, x
bi_count_rangea, lo_val, hi_val
bi_slice_rangea, lo_val, hi_val
bi_nearesta, x
bi_insort_uniquea, x
bi_insort_batcha, items

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/bisect —— 有序序列二分查找/插入
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
bi_left(a, x)          → int   x 应插入的最左位置(与 a 中已存在的 x 相邻前)
bi_right(a, x)         → int   x 应插入的最右位置
bi_insort_left(a, x)   → list  返回插入 x 后的新列表(不修改入参)
bi_insort_right(a, x)  → list  返回插入 x 后的新列表
说明:
- a 须为已排序升序列表;元素与 x 须同类型(数值或字符串同类型比较)
- 纯函数:insort 系列返回新列表,原列表不变(写库规范:无副作用)
============================================================
二分:左边界(第一个 >= x 的下标)