[Python练习] 将字典扁平化
需求
将字典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.嵌套函数