如何拼合半嵌套python字典

时间:2019-10-18 09:57:28

标签: python dictionary

我有一个类似以下的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}

现在我被困在如何转换它上?

1 个答案:

答案 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}
相关问题