2024/01 | 1234567891011121314151617181920212223242526272829 | 2024/03 Pythonでプログラミングするにあたり、 二次元配列の初期化と、その後の代入で間違いやすい所をメモしておきます。 (というか、以前メモしていたブログを閉鎖してしまったので再掲です。) Pythonのリストの要素は値の入れ物ではなく、ポインタとして働くので、 以下のソースのArray1みたいな配列らしきものを作ると 一箇所書き換えただけで、それを参照する部分が全部変わってしまいます。 したがって、Array2のように書くのが正解です。 # m*n2次元配列の初期化 m = 3 n = 5 Array1 = n*[m*[0]] print Array1 # 出力結果 [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0],