Retour aux quiz
Débutant

Copie superficielle et références partagées

Que se passe-t-il à l'exécution ?

quiz.py
1
Quel sera le résultat de ce code Python ?
2
 
3
 x = [1, 2, 3]
4
 y = x.copy()
5
 y.append(4)
6
 print(x)

Réponses possibles

A[1, 2, 3]
B[1, 2, 3, 4]

Explication

Contrairement à y = x, qui fait en sorte que y et x pointent vers la même liste (même référence), y = x.copy() crée une copie superficielle de la liste. Ce qui veut dire que y est une nouvelle liste qui contient les mêmes éléments que x, mais qu’elle est indépendante : si on modifie y, x n'est pas modifiée.