Adloun

Python (école d'ingénieur) · Chapitre 1 · Exercice

Copie superficielle vs profonde

Bases de Python, variables et types

Énoncé

On considère original = [[1, 2], [3, 4]]. Expliquer les effets sur original de :

  1. copie1 = original
  2. copie2 = original[:]
  3. copie3 = [ligne[:] for ligne in original]

Corrigé

Explication :

  • copie1 = original : copie de référence simple (alias). Toute modification affecte original.
  • copie2 = original[:] : copie superficielle (slice). Crée un nouveau conteneur externe, mais les sous-listes (les lignes) restent partagées. Modifier copie2[0][0] modifie original.
  • copie3 = [ligne[:] for ligne in original] : copie à double niveau indépendante. Modifier une valeur n'affecte pas l'original.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →