私は最近、Pythonを学んでいて、問題を抱えていました。ここに私のコードです。なぜ、両方のリストがpythonで1つだけappend()関数を呼び出した後に変更されるのですか?
a = [1, 2, 3, 4, 5]
b = a
print(a)
print(b)
b.append(8)
print(a)
print(b)
出力は次のとおりです。
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 8]
[1, 2, 3, 4, 5, 8]
なぜは私だけBにそれを呼び出す場合でも、両方のリストを変更しますか?私たちがb = aを割り当てるとき、私たちはそのリストの別のコピーを作っていませんか?
。それをコピーするには 'b = list(a)'を使います。 – slezica
いいえ、私はコピーする手順を知りたくありません。私は上記のコードがどのように機能し、なぜ両方のリストが変更されるのか知りたいですか? – ashwani
@user:同じリストに対して異なる名前を使用しています。あなたが私の犬Brutusに電話して私が彼をBristoと呼ぶなら、あなたはBrutusの尾を引くことができ、Bristoは痛みを感じるでしょう。彼らは同じ犬です。 – zondo