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

如何搭建带键/子键对的嵌套可变数据库?解决字典子键覆盖问题

解决嵌套字典被覆盖的问题

你代码的问题很明确:每次赋值都是直接替换整个字典,而不是在已有结构里添加子键。

你原来的写法里,每一行myNestedDict = {"key1": {...}}都会创建一个全新的字典对象,把之前的myNestedDict完全覆盖掉,所以最后只剩下最后一次赋值的subkey3,前面的subkey1和subkey2早就被丢弃了。

正确的写法有两种:

1. 先初始化父结构,再逐个添加子键

# 先创建包含key1的空子字典
myNestedDict = {"key1": {}}
# 往key1的子字典里逐个加键值对
myNestedDict["key1"]["subkey1"] = {'data': "Stuff"}
myNestedDict["key1"]["subkey2"] = {'data': "Different stuff"}
myNestedDict["key1"]["subkey3"] = {'data': "Something Completely Different"}

2. 一次性构建完整的嵌套字典

如果提前知道所有键值对,可以直接写出完整结构:

myNestedDict = {
    "key1": {
        "subkey1": {'data': "Stuff"},
        "subkey2": {'data': "Different stuff"},
        "subkey3": {'data': "Something Completely Different"}
    }
}

验证打印逻辑

你的打印代码没问题,也可以简化成更清晰的版本:

for key, sub_dict in myNestedDict.items():
    for subkey, subvalue in sub_dict.items():
        print(key, " ", subkey, " ", subvalue)

运行后就能输出所有子键的内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 01:15:02