PythonListes et tuples
list. copy()
Renvoie une copie superficielle d’une liste.
- Renvoie
- Une nouvelle liste avec les mêmes éléments.
- Modifie l’original
- Non
Exemple
#Python
original = ["HTML", "CSS"]
alias = original
copy = original.copy()
alias.append("JS")
copy.append("Python")
print(original)
print(copy)Résultatrésultat enregistré, vous pouvez le vérifier
['HTML', 'CSS', 'JS']
['HTML', 'CSS', 'Python']
Définition et utilisation
#La méthode copy() crée une nouvelle liste avec les mêmes éléments. Les changements dans la copie (ajout, suppression d’éléments) n’affectent pas l’original.
La simple affectation b = a ne copie pas la liste. Les deux variables pointent alors vers le même objet, et un changement par l’une est visible par l’autre.
La copie est superficielle : les listes et dictionnaires imbriqués sont partagés entre les deux listes. Pour une copie complète et profonde, utilisez copy.deepcopy().
Syntaxe
#Syntaxe
liste.copy()Plus d’exemples
#Python
import copy
board = [[0, 0], [0, 0]]
shallow = board.copy()
deep = copy.deepcopy(board)
shallow[0][0] = 1
print(board)
print(deep)Résultatrésultat enregistré, vous pouvez le vérifier
[[1, 0], [0, 0]]
[[0, 0], [0, 0]]
Bonnes pratiques
#- Des façons équivalentes de faire une copie superficielle sont
liste[:]etlist(liste). - Pour des listes de listes ou des listes de dictionnaires, utilisez
copy.deepcopy().
Entrées associées
#Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.