Retour aux quiz
Débutant

Copie profonde avec deepcopy (3)

Que contient la liste après ces opérations ?

quiz.py
1
x = [[1, 2, 3], [4, 5, 6]]
2
y = x.copy()
3
y[1].append(7)
4
print(x, y)

Réponses possibles

A[[1, 2, 3], [4, 5, 6, 7]] [[1, 2, 3], [4, 5, 6, 7]]
B[[1, 2, 3], [4, 5, 6]] [[1, 2, 3], [4, 5, 6]]
C[[1, 2, 3], [4, 5, 6]] [[1, 2, 3], [4, 5, 6, 7]]
D[[1, 2, 3], [4, 5, 6, 7]] [[1, 2, 3], [4, 5, 6]]

Explication

La sous-liste [4, 5, 6] est le même objet dans les deux listes, malgré la copie. .copy() fait donc une copie "superficielle". Pour faire une copie profonde, on peut, par exemple, importer copy puis faire y = copy.deepcopy(x).