list.copy()

Renvoie une copie superficielle d’une liste.

Renvoie
Une nouvelle liste avec les mêmes éléments.
Modifie l’original
Non
Sur cette page

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

#
Copie superficielle et copie profonde
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[:] et list(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.