Python поменять значение многомерного словаря, используя список с ключами

Допустим, есть словарь:

dict = {'key1':{'key2':{'key3':'foo'}}}

И есть список с ключами, а так-же новое значение:

keys = ['key1','key2','key3']
new_value = 'bar'

Как с помощью функции поменять значение с foo на bar используя ключи из массива?

Пример:

change_dict(dict, keys, new_value)

Стоит учитывать, что длина пути может меняться.


Ответы (1 шт):

Автор решения: Xander
data = {'key1':{'key2':{'key3':'foo'}}}

keys = ['key1','key2','key3']
new_value = 'bar'

item = data
for key in keys[:-1]:
    item = item[key]

item[keys[-1]] = new_value

print(data)
→ Ссылка