python2.7.6 (in macOS) で、例えば
python
1A = [ [1,1,1] ] 2 3A.append(A[-1]) #直前の要素をコピー。 4A[-1][2] = 5 #コピーしてできた要素を一部書き換える。コピー元要素は書き換わってほしくない。 5print A 6
というコードがあったとします。
このコードを実行したときの期待出力は
output1
1[[1, 1, 1], [1, 1, 5]]
なのですが、実際には
output2
1[[1, 1, 5], [1, 1, 5]]
となります。
なぜ、書き換えるつもりのない要素(例えばA[0])まで書き換わってしまっているのでしょうか?
よろしくお願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。