変数が設定されています。別の変数が最初に設定されます。最初は値を変更します。2番目はそうではありません。これは、黎明期からのプログラミングの性質です。
>>> a = 1
>>> b = a
>>> b = b - 1
>>> b
0
>>> a
1
次に、これを Python リストに拡張します。リストが宣言され、追加されます。別のリストが最初のリストと等しいと宣言されています。2 番目のリストの値が変更されます。不思議なことに、最初のリストの値は、直接作用するわけではありませんが、変化します。
>>> alist = list()
>>> blist = list()
>>> alist.append(1)
>>> alist.append(2)
>>> alist
[1, 2]
>>> blist
[]
>>> blist = alist
>>> alist.remove(1)
>>> alist
[2]
>>> blist
[2]
>>>
どうしてこれなの?
そして、これが起こらないようにするにはどうすればよいですか? (もしそうなら、不変) alist
への変更に動じないようにしたいですか?blist