Pythonда ўзгарувчиларни ҳавола орқали ўтказish

Pythonда мураккаб объектларни ўз ичига олган ўзгарувчилар ҳавола орқали ўтказилади. Бу демак, бир ўзгарувчида киритилган барча ўзгартиришлар иккинчисига акс этади. Ва ҳамо гўё бу турдаги қийматларни тенглаштириш билан хатолик пайдо булиш хавфи orthgan булса-да, аммо АТ систeмаси хотирасининг ресурслари жуда кам сарфланади.

Бизда иккита рўйхат бор деб фараз қилайлик:

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

Чунки lst2 ўзгарувчисига lst1 қиймати тенглаштирилди, енди компютернинг оператив хотирасида бир рўйхат сақланади, унга бир вақтнинг ўзида иккита ўзгарувчи ҳавола берadi.

Келинг lst2 ning биринчи элементини ўзгартирамиз ва биринчи рўйхатни консолга чиқарамиз:

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)