全部工程
Python 与数据结构实验 · Python 工具与网页已发布

mkfun · 结构映射实验台

用两份嵌套样例描述规则,把新数据重组成另一种形状。

技术方向
Python 工具 / 结构映射
设计主张
用样例表达位置,让规则与结果都可解释。
关键能力
  • 样例编译规则
  • 逐项来源路径
  • 本次往返校验

源样例、目标样例与新数据并列,输出档案及逐项来源规则。

从两个样例,得到一份转换规则

2016 年自学 Python 时的一次实验:能否用源与目标样例代替逐字段转换代码?如今保留原始实验,重建为可调用的 Python 工具,并用网页把映射关系展开。

技术构成

Python 3.10+ / 标准库
不可变规则树负责编译、应用与路径解释,兼容旧导入名称。
HTML / CSS
源样例、目标样例、新数据与结果组成响应式暗色工作台。
原生 JavaScript / ES modules
浏览器独立实现 JSON 子集,与 Python 共用数据夹具核对规则。

设计与实现

用两份矩阵样例描述转置,转换结果与输入位置对应。 放大查看
用两份矩阵样例描述转置,转换结果与输入位置对应。

结构重排 · 把位置关系编译下来

叶值连接位置

目标中与源样例相同的叶值成为输入引用,其余值成为常量;编译一次,重复应用于布局相同的新数据。

键也参与映射

字典键和值共同遍历,既能交换键值,也能把矩阵或嵌套结构整理成新的形状。

目标丢失字段时往返检查失败,界面保留具体原因并阻止输出。 放大查看
目标丢失字段时往返检查失败,界面保留具体原因并阻止输出。

规则可解释,信息保留可检查

结果有来源

逐项列出目标路径、输入路径与常量,布局错误、重复来源和键碰撞均有具体说明。

往返有明确边界

可选检查本次输入经正反转换后是否一致,配合深度、节点及输出规模限制处理不合要求的数据。

画面与演示说明

Python 支持 list、tuple、dict、set 与内置标量;网页只处理 JSON 子集,整数受 JavaScript 精度限制,重复源值采用首个位置并提示。

活跃核心不执行生成代码;历史 eval 实现仅作归档查看,往返成功也不代表任意数据都可逆。

快速开始

从预设开始

在线选择档案、转置或键值交换,修改新数据后执行;Ctrl+Enter 也可运行。

检查是否保留信息

开启往返检查,验证本次输入能否还原;目标丢字段时会给出失败原因。

在 Python 中调用

安装仓库发行版 wheel 后运行 CLI,也可使用 mkfun 库复用规则。

bash
python -m mkfun --explain
全部工程