0
辞書を反復処理し、それに応じて値を更新しようとしています。何らかの理由で私はそれを働かせることができません。私は以下の簡単な例を作成しました。最後に反復された 'id'を辞書の両方のキー値に保存します。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