Retour aux quiz
Débutant
Copie profonde avec deepcopy
Combien d'itérations cette boucle effectue-t-elle ?
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]] [[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, 7]] [[1, 2, 3], [4, 5, 6]]
D[[1, 2, 3], [4, 5, 6, 7]] [[1, 2, 3], [4, 5, 6, 7]]
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).