在Python中重构字典的层次结构

时间:2020-09-25 05:06:53

标签: python dictionary nested

我有一本具有3级层次结构的字典。例如:

d = { 'week': {'year': {'zone': 'val'}}}

其中区域,星期和年份分别是嵌套字典中的键。

我将其重组为:

d_new = {'zone': {'week': {'year': 'val'}}}

任何帮助都会有所帮助。

1 个答案:

答案 0 :(得分:1)

def reshape(d):
    new_d = {}
    for z, w, y, v in [(z, w, y, d[w][y][z]) for w in d.keys() for y in d[w].keys() for z in d[w][y].keys()]:
        if z not in new_d.keys(): new_d[z] = {}
        if w not in new_d[z].keys(): new_d[z][w] = {}
        new_d[z][w][y] = v
    return new_d

d = {"w": {"y": {"z": "val"}}}
new_d = reshape(d)
print(d)  # {'z': {'w': {'y': 'val'}}}
相关问题