如何通过比较给定的源和模板来更新嵌套字典的副本?

2024-09-25 10:26:26 发布

您现在位置:Python中文网/ 问答频道 /正文

当提供了字典的默认模板并且存在输入源字典时,如何创建与模板具有相同嵌套结构的新字典,同时保持输入源中键的值不变

示例:

    template = {
                 keyA: A, 
                 keyB: B,
                 keyC: {keyC1: C1, 
                        keyC2: C2},
                 keyD: {keyD1: {keyD1A: D1A, 
                                keyD1B: D1B}, 
                        keyD2: D2}
               }


    source = {
               keyA: A-updated,
               keyD: {keyD1: {keyD1A: D1A-updated} 
                      keyD2: D2-updated}
             }


    output =  {
                 keyA: A-updated, 
                 keyB: B,
                 keyC: {keyC1: C1, 
                        keyC2: C2},
                 keyD: {keyD1: {keyD1A: D1A-updated, 
                                keyD1B: D1B}, 
                        keyD2: D2-updated}
               }

Tags: 模板字典d2c1updatedkeybkeyakeyc