Python嵌套字典统一格式重排的高可读性实现方案
嵌套字典结构统一格式化优化方案
优化思路
核心通过预先构建子部件查找映射表,替代原有next()遍历+异常捕获的逻辑,大幅提升代码可读性:
- 先将每个部件下的子部件列表转换为「子部件编号-图片路径」的键值对映射,查找效率为O(1)
- 遍历固定范围的子部件编号(1到5),直接从映射表中取值,不存在则默认返回
None
优化后代码
def reformat_parts(raw_parts): reformatted_list = [] # 固定需要输出的子部件编号范围,后续调整只需修改此处 SUBPART_NUMBERS = range(1, 6) for raw_item in raw_parts: # 初始化结果字典,填充部件编号 processed_item = {"part": raw_item["part"]} # 构建子部件查找映射表 subpart_map = { sub["subpart"]: sub["image"] for sub in raw_item["subparts"] } # 逐个填充固定字段 for num in SUBPART_NUMBERS: processed_item[f"subpart_{num}"] = { "image": subpart_map.get(num, None) } reformatted_list.append(processed_item) return reformatted_list # 调用方法 PARTS_REORDERD = reformat_parts(PARTS)
方案优势
- 完全移除了可读性较差的
next()生成器遍历和异常捕获逻辑,每一步操作语义清晰 - 变量命名直白易懂,无需额外注释就能看懂逻辑
- 查找效率高于原方案的遍历匹配,子部件数量较多时性能优势更明显
- 子部件范围抽成独立变量,后续业务调整时修改成本极低
- 封装为函数后可复用性更强
内容的提问来源于stack exchange,提问作者xtlc
相关产品推荐
相关产品推荐

