源字典:{‘a’:{‘b’:1,’c’:2}, ‘d’:{‘e’:3,’f’:{‘g’:4}}}
扁平化后字典:{‘a.b’: 1, ‘a.c’: 2, ‘a.d.e’: 3, ‘a.d.f.g’: 4}
src = {‘a’:{‘b’:1,’c’:2}, ‘d’:{‘e’:3,’f’:{‘g’:4}}}
def flatdic(src: dict):
target = {}
def _flatdic(src:dict,prenk=''):
for k,v in src.items():
if isinstance(v,(dict,)):
prenk = prenk + k + '.'
_flatdic(v,prenk)
else:
target[prenk + k] = v
_flatdic(src)
return target
print(flatdic(src))