Muuttujien välittäminen viittauksella Pythonissa

Pythonissa monimutkaisia objekteja sisältävät muuttujat välitetään viittauksella. Tämä tarkoittaa, kaikki yhdessä muuttujassa tehdyt muutokset heijastuvat toiseen. Ja vaikka tällaisessa arvojen osoittamistyypissä virheiden ilmaantumisen riski kasvaa, se säästää merkittävästi käyttöjärjestelmän järjestelmämuistin resursseja.

Oletetaan, että meillä on kaksi listaa:

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

Koska muuttujalle lst2 annettiin arvoksi lst1, nyt tietokoneen keskusmuistissa säilytetään yhtä listaa, johon kaksi muuttujaa viittaavat samanaikaisesti.

Muutetaan lst2:n ensimmäinen elementti ja tulostetaan ensimmäinen lista konsoliin:

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

Mikä on seuraavan koodin suorituksen tulos:

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

lst2 = lst1
lst2[0] = '!'

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

Mikä on seuraavan koodin suorituksen tulos:

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

lst2 = lst1
lst2[0] = '!'

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

Mikä on seuraavan koodin suorituksen tulos:

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

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

print(lst2)