繁体   English   中英

如何使用变量中的值更新嵌套 Python 字典中的键?

[英]How can i update key in nested Python dictionary with a value from a variable?

这是JSON格式的示例嵌套字典。

{
    "dict1": {
        "key": "value",
    },
    "dict2": {
        "dict_id": {
            "key1": "value1",
            "key2": "value2"
        }
    }
}

我想用一个从在数字中生成 ID 的变量派生的字符串替换“ dict_id ”。 例如“1001”、“1002”、“1003”,所以它让我关注 output。

{
        "dict1": {
            "key": "value",
        },
        "dict2": {
            "1001": {
                "key1": "value1",
                "key2": "value2",
            },
             "1002": {
                "key1": "value1",
                "key2": "value2",
            },
              "1003": {
                "key1": "value1",
                "key2": "value2",
            }
        }
    }

我怎样才能得到上述结果?,任何帮助将不胜感激。 谢谢...

一个简单的字典理解应该在这里重新构建字典:

d = {
    "dict1": {
        "key": "value",
    },
    "dict2": {
        "dict_id": {
            "key1": "value1",
            "key2": "value2"
         }
    }
}

ids = ["1001", "1002", "1003"]

result = {"dict1": d["dict1"], "dict2": {i: d["dict2"]["dict_id"] for i in ids}}

print(result)

Output:

{'dict1': {'key': 'value'}, 'dict2': {'1001': {'key1': 'value1', 'key2': 'value2'}, '1002': {'key1': 'value1', 'key2': 'value2'}, '1003': {'key1': 'value1', 'key2': 'value2'}}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM