Muutujate edastamine viidete kaudu Pythonis

Pythonis muutujad, mis sisaldavad keerukaid objekte, edastatakse viidete kaudu. See tähendab, kõik muutused, mis tehakse ühes muutujas, kajastuvad teises. Ja kuigi sellise väärtuste omistamise tüübi puhul suureneb vea tekkimise risk, säästab see oluliselt süsteemi mälu ressursse.

Oletame, et meil on kaks listi:

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

Kuna muutujale lst2 omistati väärtus lst1, siis nüüd on arvuti operatiivmälus salvestatud üks list, millele kaks muutujat korraga viitavad.

Muudame lst2 esimest elementi ja väljastame esimese listi konsooli:

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

Milline on järgmise koodi täitmise tulemus:

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

lst2 = lst1
lst2[0] = '!'

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

Milline on järgmise koodi täitmise tulemus:

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

lst2 = lst1
lst2[0] = '!'

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

Milline on järgmise koodi täitmise tulemus:

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

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

print(lst2)