次のフラストレーションで 1 時間過ごしましたが、
a)他の誰かが同じ問題を抱えている場合に備えて投稿したかった、およびb)この動作の根底にあるものに非常に興味があります.
$ e = [{}]*6
$ e
[{}, {}, {}, {}, {}, {}]
$ e[0]['green'] = 'blue'
$ e
[{'green': 'blue'}, {'green': 'blue'}, {'green': 'blue'}, {'green': 'blue'}, {'green': 'blue'}, {'green': 'blue'}]
$ e = [{}, {}, {}, {}, {}, {}]
$ e
[{}, {}, {}, {}, {}, {}]
$ e[0]['green'] = 'blue'
$ e
[{'green': 'blue'}, {}, {}, {}, {}, {}]
基本的に、問題は、辞書のリストが [{}]*int で初期化され、リスト内のインデックスによって単一の辞書を変更しようとすると、すべての辞書が変更されることです。一方、明示的に初期化する
ありがとう