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

itertools 包

集合组合子

项值
包名itertools
版本0.2.0
可用版本0.1.0 / 0.2.0
入口itertools.px
分类并发与通用模式
文件数 / 行数1 / 432

安装与引入

bash
pxpkg init          # 首次
pxpkg add itertools@0.2.0
pxpkg install
px
import itertools
所属分类教程:并发与通用模式

公开接口

函数参数
it_productlists
it_permutationsarr, k
it_combinationsarr, k
it_chainarrays
it_enumeratearr
it_uniquearr
it_take_whilearr, pred
it_takearr, n
it_droparr, n
it_repeatx, n
it_countstart, step, n
it_cyclearr, n
it_chunkarr, n
it_windowarr, n
it_zip_longesta, b, fill
其余 24 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
it_append_copylst, x
it_dict_copyd
it_check_nn
it_product_reclists, idx, cur, out
it_perm_recarr, depth, k, cur, used, out
it_comb_recarr, start, k, cur, out
it_zipa, b
it_zip3a, b, c
it_filterarr, pred
it_maparr, f
it_reducearr, f, init
it_flat_maparr, f
it_group_byarr, key_fn
it_partitionarr, pred
it_interleavea, b
it_compactarr
it_pairwisearr
it_accumulatearr, f, init
it_rangestart, stop, step = 1
it_reversearr
it_slicearr, start, stop
it_max_byarr, key_fn
it_min_byarr, key_fn
it_sumarr

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/itertools —— 集合组合子
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
it_product(lists)                 → [[...]]    笛卡尔积
it_permutations(arr, k)           → [[...]]    排列(有序)
it_combinations(arr, k)           → [[...]]    组合(无序)
it_chain(arrays)                  → [...]     展平
it_enumerate(arr)                 → [[idx, item], ...]
it_unique(arr)                    → [...]     去重保序
it_take(arr, n)                   → Ok([...]) | Err   前 n 个
it_drop(arr, n)                   → Ok([...]) | Err   跳过 n 个
it_take_while(arr, pred)          → [...]     满足谓词的前缀(pred 返回 bool)
it_repeat(x, n)                   → Ok([...]) | Err   x 重复 n 次
it_count(start, step, n)          → Ok([...]) | Err   等差序列 n 项
it_cycle(arr, n)                  → Ok([...]) | Err   循环取前 n 个
it_chunk(arr, n)                  → Ok([...]) | Err   分块(末块可短)
it_window(arr, n)                 → Ok([...]) | Err   滑动窗口
it_zip_longest(a, b, fill)        → [[...]]    按长者对齐
说明:所有结果即时返回 list(PuXian 无惰性生成器语义);n < 0 一律 Err。
============================================================
---- 内部工具 ----