Python Language
Copier des données
Recherche…
Effectuer une copie superficielle
Une copie superficielle est une copie d'une collection sans effectuer une copie de ses éléments.
>>> import copy
>>> c = [[1,2]]
>>> d = copy.copy(c)
>>> c is d
False
>>> c[0] is d[0]
True
Effectuer une copie en profondeur
Si vous avez des listes imbriquées, il est souhaitable de cloner également les listes imbriquées. Cette action est appelée copie profonde.
>>> import copy
>>> c = [[1,2]]
>>> d = copy.deepcopy(c)
>>> c is d
False
>>> c[0] is d[0]
False
Réaliser une copie superficielle d'une liste
Vous pouvez créer des copies superficielles de listes à l'aide de tranches.
>>> l1 = [1,2,3]
>>> l2 = l1[:] # Perform the shallow copy.
>>> l2
[1,2,3]
>>> l1 is l2
False
Copier un dictionnaire
Un objet dictionnaire a la copy
méthode. Il effectue une copie superficielle du dictionnaire.
>>> d1 = {1:[]}
>>> d2 = d1.copy()
>>> d1 is d2
False
>>> d1[1] is d2[1]
True
Copier un ensemble
Les ensembles ont également une méthode de copy
. Vous pouvez utiliser cette méthode pour effectuer une copie superficielle.
>>> s1 = {()}
>>> s2 = s1.copy()
>>> s1 is s2
False
>>> s2.add(3)
>>> s1
{[]}
>>> s2
{3,[]}
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow