Pythonでの参照渡し

Pythonでは、複雑なオブジェクトを含む変数は参照によって渡されます。これは、 一つの変数に対して行われたすべての変更が、二つ目の変数にも反映されることを意味します。 このタイプの値の代入ではエラーが発生するリスクが増加しますが、 その代わりにOSのシステムメモリリソースが大幅に節約されます。

2つのリストがあるとします:

pythonlst1 = [1, 2, 3, 4, 5]
lst2 = lst1

変数 lst2 に値 lst1 を代入したので、 コンピュータのメモリ内には1つのリストが格納されており、 2つの変数が同時にそれを参照しています。

lst2 の最初の要素を変更し、 最初のリストをコンソールに出力してみましょう:

pythonlst2[0] = '!'
print(lst1) # ['!', 2, 3, 4, 5] を出力します
Задание 1

次のコードを実行した結果はどうなりますか:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst1)
Задание 2

次のコードを実行した結果はどうなりますか:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst2)
Задание 3

次のコードを実行した結果はどうなりますか:

pythonlst1 = ['a', 'b', 'c', 'd']

lst2 = lst1
lst3 = 'e'
lst2[2] = lst3

print(lst2)