我有一个类似以下的python字典:
score_dictionary={'Agriculture':89,'Health':{'Public':90,'Private':78},'Mines':70,'Commerce':67}
使用此词典,我想转换为以下内容:
score_dictionary={'Agriculture':89,'Health_public':90,'Health_Private':78,'Mines':70,'Commerce':67}
现在我被困在如何转换它上?
答案 0 :(得分:4)
您可以使用isinstance
来检查给定key
/ value
对中的值是否在另一个字典中,用字符串格式设置键名并相应地更新: / p>
d = {}
for k,v in score_dictionary.items():
if not isinstance(v, dict):
d[k] = v
else:
for k_, v_ in v.items():
d[f'{k}_{k_}'] = v_
print(d)
{'Agriculture': 89,
'Health_Public': 90,
'Health_Private': 78,
'Mines': 70,
'Commerce': 67}