https://teratail.com/questions/21718
↑こちらの質問の続きとなります。
1次元のリストについては、list() もしくは copy.copy() を使うことで解決しました。
では、2次元リスト(配列?)の場合にはどうしたら良いのでしょうか。
python
1A = [ [[1,1,1],\ 2 [1,1,1]] ] 3 4A.append(list(A[-1])) #直前の要素を新たなインスタンスとしてコピー 5A[-1][0][2] = 5 #コピーしてできた要素を一部書き換える 6print A
ここで期待する出力は
[ [ [1, 1, 1], [1, 1, 1] ], [ [1, 1, 5], [1, 1, 1] ] ]
ですが、実際の出力は
[ [ [1, 1, 5], [1, 1, 1] ], [ [1, 1, 5], [1, 1, 1] ] ]
このように、A[0]がまた書き換わってしまいます。
この場合はどうしたら良いものでしょうか?
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。