<p>因此,我在这里对嵌套字典将包含的类型以及<code>catgry</code>子目录的存在做一些假设。在</p>
<p>但是你应该能够用递归来解决这个问题。在</p>
<pre><code>def val_replace(dictb, refdict):
for k, v in dictb.items():
if k in refdict:
dictb[k] = refdict[k]['catgry'][v]
elif isinstance(v, dict):
val_replace(v, refdict)
elif isinstance(v, list):
for v2 in v:
if isinstance(v2, dict):
val_replace(v2, refdict)
myref = {
"Animals": {
"catgry": {
"1": "Dogs",
"2": "Cats",
"3": "Birds",
}
},
"dogBreeds": {
"catgry": {
"1": "Belgian Malinois",
"2": "Australian Bulledog",
"3": "Cane Corso",
"4": "Chow chow",
"5": "Dalmatian",
"6": "Dobermann",
"7": "Labrador",
"8": "Rottweiler"
}
}
}
mydict = {
"name": "MyGarden",
"children": [
{
"name": "Animals",
"Animals":"1",
"children": [
{
"name": "dogBreeds",
"dogBreeds":"1",
"children": [
{
"name": "myBelgian malinois",
"weight": "30"
}
]
},
{
"name": "dogBreeds",
"dogBreeds":"2",
"children": [
{
"name": "myAustralian Bulledog",
"weight": "35"
}
]
}
]
}
]
}
val_replace(mydict, myref)
</code></pre>
<p>结果是:</p>
^{pr2}$