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

如何高效删除Python嵌套字典的最底层并将该层键转为列表存储?

实现方法

对于你给出的固定两层嵌套结构的字典,用嵌套字典推导式就能快速实现,写法比手动循环简洁,运行效率和手动循环完全一致,没有额外性能开销:

new_dict = {
    group_key: {
        type_key: list(inner_val.keys())
        for type_key, inner_val in group_val.items()
    }
    for group_key, group_val in my_dict.items()
}

如果你后续可能遇到嵌套层数不固定的场景,可以用递归函数实现通用适配,不管嵌套多少层,只要最内层是仅存数值的字典,都能自动提取最内层的键为列表:

def extract_inner_keys(input_dict: dict) -> dict | list:
    # 判断当前层级是否已经是最内层(所有值都不是字典)
    if all(not isinstance(val, dict) for val in input_dict.values()):
        return list(input_dict.keys())
    # 非最内层则继续递归处理
    return {key: extract_inner_keys(val) for key, val in input_dict.items()}

new_dict = extract_inner_keys(my_dict)

内容的提问来源于stack exchange,提问作者Camilo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:54:03