需求

将字典source处理成target格式,如下图所示:

[Python练习] 将字典扁平化

实现代码

source = {'a': {'b': 1, 'c': 2}, 'd': {'e': 3, 'f': {'g': 4}}}
target = {}
def fun(sdict,dictkey=''):
    for k,v in sdict.items():
        if isinstance(v,dict):
            fun(v,dictkey=dictkey + k + '.')
        else:
            target[dictkey + k ] = v

fun(source)
print(target)

知识点

1.isinstance():判断v的类型是不是字典,如果不是就直接写入新字典;
2.递归(函数循环)
3.嵌套函数

文章目录