首页 > 解决方案 > 无法理解如何在 FOR 循环中附加子嵌套字典和附加字典

问题描述

我有FOR添加新值项的循环,我的数据结构由这样的嵌套字典组成:

d = {
    'item1': {
        'id1': {'a': 1}, 
        'id2': {'b': 2}
    }, 
    'item2': {
        'id7': {'o': 1}, 
        'id9': {'k': 2}
    }
}

'item1'我不明白如何用一些像这样的字典数据附加值{'id3': {'z': 3}}(新数据)

当我尝试更新现有值(添加新的子值)时 -

d['item1'] = {'id3': {'z': 3}}

整个价值正在被新数据取代

那么,问题是如何将现有的子嵌套字典附加到新字典?

更新

items = {item1, item2, item3}
d = {}
for item in items:

    id = item['id']
    name = item['name']
    description = item['description']
    language = item['language']

    d[language] = {id: {'name': name, 'description': description}}

正如您在每次迭代中看到的那样,我正在替换d[language]items 中每个项目的现有值。但我想更新 value 的方式来为每个项目附加 value 的数据。

你能告诉我如何实现吗?

标签: pythonpython-3.xdictionary

解决方案


推荐阅读