Попытка итерации через словарь и обновление его значений соответственно. По какой-то причине я не могу заставить его работать. Я создал простой пример ниже. Он сохраняет последний итерированный «id» для обоих значений ключа в словаре.Iterate и обновить словарь python не работает
Образец код:
import copy
#####
def setParams(params):
for key,valuesDict in params.items():
print(key)
params[key]['target']['id'] = key
targetDict = {'id':"",'value':0}
myParamsTemplate = {'target':targetDict}
first = copy.copy(myParamsTemplate)
second = copy.copy(myParamsTemplate)
params = {"1":first,"2":second}
print("before:\n",params)
setParams(params)
print("after:\n",params)
распечатывает:
before:
{'1': {'target': {'id': '', 'value': 0}}, '2': {'target': {'id': '', 'value': 0}}}
1
2
after:
{'1': {'target': {'id': '2', 'value': 0}}, '2': {'target': {'id': '2', 'value': 0}}}
'ID' должно быть 1 и 2 соответственно, но результат всегда '2' для обоих.
@ user1179317 Добро пожаловать. – MSeifert