このミス、ひさかたPythonを触ってないとよくやってしまう.
Pythonでリストの配列のような多次元配列を作りたくて以下のようにして多次元配列を作るのだけど、こうすると要素を加えていくと、全部の要素に同じ要素が加わってしまう.
上記の形でリストの配列を作ったのちに、1番目の要素に3を加えると…
理由は明らかで、[[]]を5個つなげている段階で、中のリストのアドレスがコピーされてるんですね…そのため、一見5個あるように見えるリストは実は全て同じリストになっています…
なので上のような形を防ぐなら以下のような内包表記をするのがオススメです.