假设我有一个名为
我想创建一个新的字典,它的框架来自于
注意:我希望跳过不属于
以下是我尝试的代码:
但我完全没有理解其中的某些内容。
dict1
的字典,它具有我想要的新字典的结构(顺序和嵌套深度)。例如:dict1 = {
"Personnel": {
"Performance": ""
},
"Gaming": {
"Status": "",
"Bug Status": ""
},
"Compatible": {
"Minimum": "",
"Integrity": "",
"Scaling": ""
},
"Comparison": {
"Difference": {
"DirectX": ""
},
"Vendor": {
"Intel": "",
"Xiaomi": ""
}
}
}
我有另一个字典dict2
,其中包含与上述dict1
中键对应的值,以及其他一些键值对:
dict2 = {
"Personnel": {
"Performance": "10.5",
"Maximum": "50.5"
},
"Gaming": {
"Status": "Cool",
"Bug Status": "None",
"Green Status": "Black"
},
"Compatible": {
"Minimum": "5",
"Integrity": "Yes",
"Scaling": "No"
},
"Comparison": {
"Difference": {
"DirectX": "50",
"Android": "70"
},
"Vendor": {
"Xiaomi": "40"
}
},
"Another property": {
"Testinfo": "TestTest",
"Important": {
"Wow": "MuchDoge"
}
}
}
我想创建一个新的字典,它的框架来自于
dict1
,键的相应值从dict2
中获取。注意:我希望跳过不属于
dict1
部分的键值对。例如:在我的新字典中,我不需要 'Green Status': 'Black'
。以下是我尝试的代码:
def update(dict1 : dict, dict2: dict):
new_data = {}
for k, v in dict1.items():
if isinstance(v, dict):
v = update(v, dict(dict2.keys()))
if v not in dict2.keys():
new_data[k] = v
return new_data
但我完全没有理解其中的某些内容。