Pythonda o'zgaruvchilarni havola orqali uzatish

Pythonda murakkab obyektlarni o'z ichiga olgan o'zgaruvchilar havola orqali uzatiladi. Bu shuni anglatadiki, bitta o'zgaruvchida qilingan barcha o'zgarishlar ikkinchisida akslanadi. Va bu turdagi qiymatlar tayinlashda xatolik paydo bo'lish xaviri ortgan bo'lsa-da, tizim xotirasining resurslari sezilarli darajada tejab qolinadi.

Bizda ikkita ro'yxat bor deylik:

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

lst2 o'zgaruvchisiga lst1 qiymati tayinlanganligi sababli, endi kompyuter operativ xotirasida bitta ro'yxat saqlanadi, unga ikkita o'zgaruvchi bir vaqtning o'zida havola qiladi.

Keling lst2 ning birinchi elementini o'zgartiramiz va birinchi ro'yxatni konsolga chiqaramiz:

pythonlst2[0] = '!'
print(lst1) # ['!', 2, 3, 4, 5] ni chiqaradi
Задание 1

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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

lst2 = lst1
lst2[0] = '!'

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

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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

lst2 = lst1
lst2[0] = '!'

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

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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

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

print(lst2)