我有一本词典
{'n11' :
{'n12a':
{'n13a' : 10 , 'n13b' : "some text"},
'n12b':
{'n13c' :
{'n14a': 40}
}
},
'n21':
{'n22a' : 20 }
}
我希望遍历字典,直到到达一个不是字典的值,并将其替换为该值的"完整路径".
{'n11' :
{'n12a':
{'n13a' : 'n11_n12a_n13a' , 'n13b' : 'n11_n12a_n13b'},
'n12b':
{'n13c' :
{'n14a': 'n11_n12b_n13c_n14a'}
}
},
'n21':
{'n22a' : 'n21_n22a' }
}
我知道如何使用以下函数迭代嵌套的字典,但我不知道如何复制相同的 struct ,而是使用更新后的值.
def myprint(d,path=[]):
for k, v in d.items():
if isinstance(v, dict):
path.append(k)
myprint(v,path)
else:
print('_'.join(path))
output:
'n11_n12a_n13a'
'n11_n12a_n13b'
'n11_n12b_n13c_n14a'
'n21_n22a'
但是我怎么才能把它编入另一本词典呢?