タグ

ブックマーク / y0m0r.hateblo.jp (1)

  • Pythonで2次元配列 - メモ置き場

    このあいだエントリ書いてて今更気づいたんですが、pythonで2次元配列の初期化って、 a = [[0]*3]*3 とかだとだめなんですね。 同じオブジェクトのコピーになってしまうので、どこかに要素を設定すると、複数箇所に同じ値が設定されてしまう。 リスト内包表記を使って書く手もありますが、numpyを使うのが正しい形なんだろうか つらつらとサンプルを書いてみた # coding=utf-8 # pythonで2次元配列 # リストの初期化 a = [0]*3 # [0, 0, 0] # 2次次元配列の初期化? a = [[0]*3]*3 # [[0, 0, 0], [0, 0, 0], [0, 0, 0]] # でも要素を設定すると、おかしくなる(複数箇所に設定されてしまう) a[0][0] = 1 # [[1, 0, 0], [1, 0, 0], [1, 0, 0]] # リスト内包表

    Pythonで2次元配列 - メモ置き場
  • 1