Python通过闭包实现将嵌套字典转换为一个字典

def nested_dict_2_dict(nested_dict):
    """
    嵌套字典转化为字典(闭包实现)
    形如:
    转化前:{"a": {"name": "张三", "friends": {"name": "lisi"}},"b": 20}
    转化后:{'a.name': '张三', 'a.friends.name': 'lisi', 'b': 20}
    :param nested_dict: 带转化的字段
    :return:
    """
    res = {}

    def split(d, key=None):
        for k, v in d.items():
            k = f"{key}.{k}" if key else k
            if isinstance(v, dict):
                split(v, k)
            else:
                res[k] = v

    split(nested_dict)
    return res

  

posted on 2022-10-25 10:10  JentZhang  阅读(184)  评论(0)    收藏  举报