私の問題は、辞書をリストに更新するときです。
入力:
>>> res=[]
>>> my_inital_dict={'aa':1,'bb':1}
>>> for i in range(4):
... my_initial_dict.update({'aa':i+4})
... print my_initial_dict
... res.append(my_initial_dict)
私が得た出力:
{'aa': 4, 'bb': 1}
{'aa': 5, 'bb': 1}
{'aa': 6, 'bb': 1}
{'aa': 7, 'bb': 1}
>>> res
[{'aa': 7, 'bb': 1}, {'aa': 7, 'bb': 1}, {'aa': 7, 'bb': 1}, {'aa': 7, 'bb': 1}]
my_initial_dict
ループ内で印刷すると、正しい値が得られます。しかし、結果のリストを印刷すると、同じ辞書が4回繰り返された辞書のリストが表示されます。誰かがここで何が起こっているのか説明できますか?