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)