Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

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

1Answer

Your answer might help someone💌