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

如何根据动态路径向Python复杂嵌套字典中添加键值对

Python嵌套字典按指定路径插入内容实现方案

实现思路

  • 遍历指定的路径列表,从根字典开始逐层向下取值,最终定位到路径指向的目标字典节点
  • 在目标节点中新增自定义键,将待添加的字典作为对应值写入即可
  • 若需要兼容路径中间节点不存在的场景,遍历过程中可使用setdefault方法自动创建缺失的空字典节点

代码实现

基础版(路径已提前存在)

def add_to_nested_dict(original_dict, path, new_content, new_key="newkey"):
    # 逐层定位到目标节点
    current = original_dict
    for k in path:
        current = current[k]
    # 写入新键值对
    current[new_key] = new_content

# 测试用例
d = {'parent1': {'2': {'3': {}}}, 'parent2': {'child1': {}, 'child2': {}}}
u = {"4":"2"}
path = ['parent2','child1']

add_to_nested_dict(d, path, u)
print(d)

运行后输出和预期结果一致:
{'parent1': {'2': {'3': {}}}, 'parent2': {'child1': {'newkey': {'4': '2'}}, 'child2': {}}}

增强版(自动创建缺失路径节点)

如果不确定路径是否存在,可以修改遍历逻辑自动补全中间节点:

def add_to_nested_dict(original_dict, path, new_content, new_key="newkey"):
    current = original_dict
    for k in path:
        # 键不存在时自动创建空字典节点
        current = current.setdefault(k, {})
    current[new_key] = new_content

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:54:01