【问题标题】:Update same values in nested dictionary更新嵌套字典中的相同值
【发布时间】:2018-01-04 03:53:39
【问题描述】:

我有一个如下所示的字典,我想用新值更新“时间”键(嵌套字典的两个键)。

{
    "mReport": {
        "reports": 1,
        "time": "2017-08-04T16:33:19",
        "m_reports": [{
            "name": "eth0",
            "int": "eth0",
            "type": "data",
            "datatype": "STRING",
            "value": 0,
            "unit": "",
            "time": "2017-08-04T16:33:19"
        }]
    }
}

我试过这个,但是我可以更新外部时间键(在 mReport 下),我根本无法访问 m_reports 下的键。 我的代码,仅适用于外键:

for _, dv1 in kpi_resp.iteritems():
    for key1, dv2 in dv1.iteritems():
        if key1 == 'time':
            dv1["time"] = "2017-08-04T16:33:19"

在这方面需要帮助。

【问题讨论】:

    标签: json python-2.7 dictionary


    【解决方案1】:

    如果你直接这样做会怎样:

    new_value = "2017-08-04T16:33:19"
    
    kpi_resp["mReport"]["time"] = new_value
    kpi_resp["mReport"]["m_reports"][0]["time"] = new_value
    

    或者,如果您需要对所有嵌套字典执行此操作:

    new_value = "2017-08-04T16:33:19"
    
    kpi_resp["mReport"]["time"] = new_value
    for report in kpi_resp["mReport"]["m_reports"]:
        report["time"] = new_value
    

    【讨论】:

    • 完美,这就是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-15
    • 2015-09-08
    • 1970-01-01
    • 2019-04-06
    • 2017-04-30
    • 2019-07-15
    • 2021-09-04
    相关资源
    最近更新 更多