Python3のappendメソッドのおかしな挙動について
はじめに
Python3でよくわからない挙動に遭遇したので、ご存じの方がいたら教えて下さいm(_ _)m
環境
Python 3.9.1
やりたいこと
以下のような2次元配列の左から2番目の配列に1を2つ追加したい
before
[[], [], [], []]
after
[[], [1, 1], [], []]
やったこと
準備
2次元配列を用意します
foo = [[]] * 4
結果
[[], [], [], []]
本編
まずは左から2番目の配列に1を1つ追加しようと以下のコードを実行しました
foo[2].append(1)
結果
[[1], [1], [1], [1]]
!!?
ちなみにfoo[0]やfoo[1]でも同じ結果でした...
なんなんだこれは・・・
こちらの挙動について何かご存知の方がおりましたら教えていただけると嬉しいです。
0