普贤教程 › 包参考
natsort 包
自然排序
| 项 | 值 |
|---|---|
| 包名 | natsort |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | natsort.px |
| 分类 | 文本与中文处理 |
| 文件数 / 行数 | 1 / 139 |
安装与引入
bash
pxpkg init # 首次 pxpkg add natsort@0.2.0 pxpkg install
px
import natsort所属分类教程:文本与中文处理
公开接口
| 函数 | 参数 |
|---|---|
na_key | s |
na_compare | a, b |
na_sorted | l |
其余 6 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
na_is_digit | c |
na_parse_int | s |
na_split_key | s |
na_is_sorted | l |
na_rank | l |
na_join | l, sep=" " |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/natsort —— 自然排序 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 na_key(s) → str 自然排序键(数字段补零 + 文本段小写) na_compare(a,b) → int -1/0/1 na_sorted(l) → [str] 自然排序结果(稳定) 实现: - 数字段转为整数后补零到 20 位(i64 最长 19 位),使 "a2" < "a10"; - 文本段转小写(大小写不敏感); - sorted 无 key/comparator(登记 PX-DEF-034),用 [键, 原值] 成对包装后 走原生 sorted 的复合比较(M162 起稳定),再取回原值。 复杂度 O(n log n);键比较为字符串字典序。 ============================================================