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 :
copie1 = originalcopie2 = original[:]copie3 = [ligne[:] for ligne in original]
Corrigé
Explication :
copie1 = original: copie de référence simple (alias). Toute modification affecteoriginal.copie2 = original[:]: copie superficielle (slice). Crée un nouveau conteneur externe, mais les sous-listes (les lignes) restent partagées. Modifiercopie2[0][0]modifieoriginal.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
- 9 autres exercices corrigés dans ce chapitre, et 9 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.