[Python练习] 将字典扁平化

@admin  May 24, 2020

需求

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

知我知行

实现代码

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.嵌套函数


添加新评论