Перадача зменных па спасылцы ў Python

У Python зменныя, якія ўтрымліваюць складаныя аб'екты перадаюцца па спасылцы. Гэта значыць, усе змены, зробленыя ў адной зменнай адлюструюцца на другой. І хоць пры такім тыпе прысваення значэнняў павялічваецца рызыка з'яўлення памылкі, затое значна экономяцца рэсурсы сістэмнай памяці АС.

Хай у нас ёсць два спісы:

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

Паколькі зменнай lst2 прысвоілі значэнне lst1, цяпер у аператыўнай памяці камп'ютара захоўваецца адзін спіс, на які адначасова спасылаюцца дзве зменныя.

Давайце зменім першы элемент 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)