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

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_keys
na_comparea, b
na_sortedl
其余 6 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
na_is_digitc
na_parse_ints
na_split_keys
na_is_sortedl
na_rankl
na_joinl, 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);键比较为字符串字典序。
============================================================