Överföring av variabler via referens i Python

I Python överförs variabler som innehåller komplexa objekt via referens. Det betyder att alla ändringar som görs i en variabel kommer att reflekteras i den andra. Och även om denna typ av tilldelning av värden ökar risken för fel, så sparar det avsevärt på operativsystemets systemminnesresurser.

Låt oss säga att vi har två listor:

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

Eftersom variabeln lst2 tilldelades värdet lst1, finns det nu en lista i datorns arbetsminne som två variabler refererar till samtidigt.

Låt oss ändra det första elementet i lst2 och skriva ut den första listan till konsolen:

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

Vad blir resultatet av följande kod:

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

lst2 = lst1
lst2[0] = '!'

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

Vad blir resultatet av följande kod:

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

lst2 = lst1
lst2[0] = '!'

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

Vad blir resultatet av följande kod:

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

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

print(lst2)