dict update 更新嵌套键值对[重复]

Posted

技术标签:

【中文标题】dict update 更新嵌套键值对[重复]【英文标题】:dict update updating the nested key value pair [duplicate] 【发布时间】:2021-09-12 21:18:26 【问题描述】:

我有一本原始字典 - student = "name":"Mike","class":"grade":10,"section":"b"。现在,我有另一个new_dict = "class":"grade":10, "section":"c"

现在,我想用 new_dict 更新我的学生字典以匹配键,student.update(new_dict) 工作正常。但是我可能遇到new_dict = "class":"section":"d" 之类的情况,当我提供更新时,它会更新学生的字典,而"grade":10 会丢失。

student = "name":"Mike","class":"grade":10,"section":"b"
new_dict = "class":"section":"c"
student.update(new_dict)

Actual output:
=============
print(student)
'name': 'Mike', 'class': 'section': 'c'

Expected output:
================
'name': 'Mike', 'class': "grade":10,'section': 'c'

在这种情况下进行更新的最佳方法是什么,在所有键和条目中更新并仅更新匹配的键和值(即使它在嵌套内部)。

【问题讨论】:

【参考方案1】:

也许您可以迭代 new_dict 并在元素内部进行更新。

student = "name":"Mike","class":"grade":10,"section":"b"
new_dict = "class":"section":"c"


for k, v in new_dict.items():
    student[k].update(v)

【讨论】:

以上是关于dict update 更新嵌套键值对[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python 数据结构考题

python合并两个字典的内容,使用update方法

Python学习笔记--数据结构之字典dict

dict 知识汇总

python字典的简单操作(修改删除嵌套遍历复制)

python字典合并