You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python嵌套字典统一格式重排的高可读性实现方案

嵌套字典结构统一格式化优化方案

优化思路

核心通过预先构建子部件查找映射表,替代原有next()遍历+异常捕获的逻辑,大幅提升代码可读性:

  1. 先将每个部件下的子部件列表转换为「子部件编号-图片路径」的键值对映射,查找效率为O(1)
  2. 遍历固定范围的子部件编号(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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:57:00