首页 > 解决方案 > 将字典转换为特殊字典python

问题描述

我试图将字典转换为这样的特殊字典:

{'deployment.easset': 'name', 'deployment.service.source': 'service'}

转换为:

'deployment.easset': 'name' --> {"deployment":{"easset":"name}}
'deployment.service.source': 'service' --> {"deployment":{"easset":{"source":"service"}}}

我实际可悲的代码:

diccionary={}
data={'deployment.easset': 'name', 'deployment.service.source': 'service'}
for key, value in data.items():
    for i in key.split("."):
        diccionary[i]=[value]
print(diccionary)

十分感谢!!

好的,这是解决方案:

def insert(data):
res = {}
for k, v in data.items():
    res_tmp = res
    levels = k.split(".")
    for level in levels[:-1]:
        res_tmp = res_tmp.setdefault(level, {})
    res_tmp[levels[-1]] = v
return res

结果=插入({'deployment.easset.cosa.pepe.juan':'名称'})

标签: pythondictionary

解决方案


推荐阅读