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

如何向字典指定键对应的嵌套字典添加新键值对

给嵌套字典添加新键值对的解决方案

嘿,刚看到你的问题,这个需求其实很容易实现,咱们直接按字典的层级访问来操作就行!

首先先修正一下你原代码里的小笔误:原字典里的b:{'d':'e'}应该写成'b': {'d':'e'}(字符串键需要用引号括起来,不然会被当成未定义的变量),修正后的原字典是:

con = {'a':{'b':'c'}, 'b':{'d':'e'}}

最直接的实现方式

要给'a'对应的嵌套字典新增'e':'f',只需要通过层级访问直接赋值即可:

# 给'a'对应的嵌套字典添加新键值对
con['a']['e'] = 'f'

# 查看修改后的结果
print(con)

执行这段代码后,输出就是你想要的结果:

{'a': {'b': 'c', 'e': 'f'}, 'b': {'d': 'e'}}

原理说明

con['a']会返回外层字典中'a'对应的嵌套字典{'b':'c'},此时对这个返回的字典执行['e'] = 'f',就相当于给这个嵌套字典新增了一组键值对,外层字典会自动同步这个修改——因为字典是可变对象,我们直接操作的就是原字典里的嵌套部分。

拓展:处理键可能不存在的情况

如果不确定外层字典里是否存在'a'这个键(担心出现KeyError报错),可以用get()方法配合update()来安全操作:

# 如果'a'存在就更新它的嵌套字典,不存在则创建空字典再添加(你当前场景用不到,但可以留作参考)
con.get('a', {}).update({'e': 'f'})

这样即使'a'不存在,代码也不会报错,只会创建一个空字典并添加'e':'f'(不过你当前的需求里'a'是明确存在的,所以用第一种方法就足够了)。

内容的提问来源于stack exchange,提问作者new to python

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:07:33