【Python3】2次元リストの初期化はヤバイ
2次元リストの初期化は以下のようにやること。1千万人ぐらい同じこと書いてそうですが。
正常コード
my_list = [[0 for i in range(2)] for j in range(2)] my_list[0][1] = 1 print(my_list) # [[0, 1], [0, 0]]
OKそうで実は駄目なコード
my_list = [[0]*2] *2 my_list[0][1] = 1 print(my_list) # [[0, 1], [0, 1]] """ 内側のリストは同じオブジェクトになっている!以降の処理は破滅だ..."""
リストの初期化は[0]*2でいけるのか!Python最高
↓
2次元リストの初期化でPythonビギナーが全員ハマル
↓
→怒りを伴いblogを更新する
までがセットの流れがあるわ。こんな流れはいやだあ!