如何在 src dict 下转换(嵌套 dict)
{
'a':{'b':1, 'c':{'d':2}},
'b':3,
'c':{'d':4, 'a':5}
}
到下面的 dst dict(未嵌套)?
{
'a.b':1,
'a.c.d':2,
'b':3,
'c.d':4,
'c.a':5
}
src 字典是嵌套字典。并且 dst dict 不是嵌套的 dict。
任何简单的方法来做这个约定?
最佳答案
这是用于展平字典的 python 包。你可以用这个
https://pypi.org/project/flatten-dict/
执行:
from flatten_dict import flatten
nested = {'a': {'b': 1, 'c': {'d': 2}},
'b': 3,
'c': {'d': 4, 'a': 5}}
flat = flatten(nested, reducer=lambda k1, k2: k2 if k1 is None else k1 + '.' + k2)
print(flat)
# {'a.b': 1, 'a.c.d': 2, 'b': 3, 'c.d': 4, 'c.a': 5}
关于python - 如何将python嵌套dict转换为非嵌套dict?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55624280/