Pythonの動作方法によりx = []; y = x; x.append(1); y
、[1]
. ただし、逆に言えば、
z = [1,2]
temp = z
temp[1] = 3
z,temp
印刷されます([1,3],[1,3])
。私が正しく理解していれば、両方とも同じリストz
をtemp
指しているので、リストが変更可能であるため、一方を変更すると他方が変更されます。どうすればこれを防ぐことができますか? z
つまり、にコピーしtemp
、さまざまな方法で変更し、キューにプッシュする for ループを作成したいと考えています。それが機能するには、z
常に基本配列が含まれている必要があるため、変更が変更さtemp
れないことが必要ですz
。
編集: z をタプルに変更して、の代わりにz=z,
呼び出してみました。それでも、これは私の問題を解決しません。z[0]
z