普贤教程 › 包参考
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_left | a, x |
bi_right | a, x |
bi_insort_left | a, x |
bi_insort_right | a, x |
其余 9 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
bi_copy | a |
bi_insert_at | a, x, idx |
bi_search | a, x |
bi_contains | a, x |
bi_count_range | a, lo_val, hi_val |
bi_slice_range | a, lo_val, hi_val |
bi_nearest | a, x |
bi_insort_unique | a, x |
bi_insort_batch | a, 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 的下标)