Passage de variables par référence en Python

En Python, les variables contenant des objets complexes sont passées par référence. Cela signifie que toutes les modifications apportées à une variable se répercuteront sur la seconde. Et bien que ce type d'affectation de valeurs augmente le risque d'erreur, il permet en revanche d'économiser significativement les ressources de la mémoire système de l'OS.

Supposons que nous ayons deux listes :

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

Puisque la variable lst2 a reçu la valeur de lst1, il n'y a maintenant qu'une seule liste stockée dans la mémoire vive de l'ordinateur, à laquelle deux variables font référence simultanément.

Modifions le premier élément de lst2 et affichons la première liste dans la console :

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

Quel sera le résultat de l'exécution du code suivant :

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

lst2 = lst1
lst2[0] = '!'

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

Quel sera le résultat de l'exécution du code suivant :

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

lst2 = lst1
lst2[0] = '!'

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

Quel sera le résultat de l'exécution du code suivant :

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

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

print(lst2)