Изменить значения в словаре вложенных словарей, используя элементы в списке?

Как бы вы изменили/создали ключи/значения в словаре вложенных словарей на основе значений списка, в котором последний элемент списка является значением для словаря, а остальные элементы ссылаются на ключи внутри словарей? Это будет список:

list_adddress = [ "key1", "key1.2", "key1.2.1", "value" ]

Это будет проблемой только в таких ситуациях, как разбор аргументов командной строки. Очевидно, что изменить/создать это значение в скрипте было бы довольно легко, используя dict_nested["key1"]["key1.2"]["key1.2.1"]["value"].

Это будет вложенный диктофон:

dict_nested = { 
    "key1": {
                "key1.1": { 
                            "...": "...",
                },
                "key1.2": { 
                            "key1.2.1": "change_this",
                },
            },

    "key2": {
                "...": "..."
            },
}

Я предполагаю, что в этом случае потребуется что-то вроде рекурсивной функции или понимания списка.

def ValueModify(list_address, dict_nested):
   ...
   ...
    ValueModify(...,...)

Кроме того, если элементы в list_addressбудут ссылаться на ключи в не -существующих словарях, их следует создать.

5
задан martineau 30 May 2017 в 04:17
поделиться