Обновить значение вложенного словаря различной глубиныPython

Программы на Python
Anonymous
Обновить значение вложенного словаря различной глубины

Сообщение Anonymous »

Я ищу способ обновить словарь dict1 содержимым обновления dict без перезаписи levelA

Код: Выделить всё

dictionary1 = {
"level1": {
"level2": {"levelA": 0, "levelB": 1}
}
}
update = {
"level1": {
"level2": {"levelB": 10}
}
}
dictionary1.update(update)
print(dictionary1)

Код: Выделить всё

{
"level1": {
"level2": {"levelB": 10}
}
}
Я знаю, что обновление удаляет значения на уровне 2, поскольку оно обновляет самый низкий ключ уровня 1.
Как я могу решить эту проблему, учитывая, что словарь 1 и обновление может иметь любую длину?

Подробнее здесь: https://stackoverflow.com/questions/323 ... ying-depth

Вернуться в «Python»