• Python [习题] 字典扁平化



    习题: 将以下字典扁平化,输出为 target 字典格式
    source = {'a': {'b': 1, 'c': 2}, 'd': {'e': 3, 'f': {'g': 4}}}
    target = {'a.b': 1, 'd.f.g': 4, 'd.e': 3, 'a.c': 2}

    source = {'a': {'b': 1, 'c': 2}, 'd': {'e': 3, 'f': {'g': 4}}}
    target = {}
    
    
    def flatmap(srcDic, targetKey=''):
        for k, v in srcDic.items():
            if isinstance(v, dict):
                flatmap(v, targetKey=targetKey + k + '.')
            else:
                target[targetKey + k] = v
    
    
    flatmap(source)
    print(target)
    

      

    知识点:递归,isinstance

    使用递归、isinstance,判断 value 是否是字典类型,如果不是,则合并key 名称写入新字典。

  • 相关阅读:
    p1706 全排列
    2089烤鸡(类似于选数问题)
    1036选数
    bfs
    A-E
    A-3
    百题A-2
    百题A-1
    二级概念题
    随记
  • 原文地址:https://www.cnblogs.com/i-honey/p/7712553.html
Copyright © 2020-2023  润新知