Méthode Python List copy()
La méthode liste Copy() fait une nouvelle copie superficielle d'une liste.
Exemple
Python3
# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)> |
Sortir
['mango', 'apple', 'strawberry']
Qu’est-ce que la méthode List Copy() ?
La liste Fonction Copier() dans Python est utilisé pour créer une copie d'une liste. Il existe deux manières principales de créer une copie de la liste Copie superficielle et Copie profonde. Nous discuterons de la méthode list copy() en détail ci-dessous.
La fonction list copy() est utilisée pour créer une copie d'une liste, qui peut être utilisée pour fonctionner et n'affectera pas les valeurs de la liste d'origine. Cela donne la liberté de manipuler les données sans se soucier de la perte de données.
Syntaxe de la méthode List copy()
liste.copie()
Paramètres
- La méthode copy() ne prend aucun paramètre.
Retour: Renvoie un copie superficielle d'une liste.
Note : Une copie superficielle signifie que toute modification dans la nouvelle liste ne sera pas reflétée dans la liste d'origine.
Comment créer une copie simple d'une liste en Python
La copie et la création d'une nouvelle liste peuvent être effectuées à l'aide de la fonction copy() en Python.
Python3
# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)> |
Sortir
['Priya', 'Neha', 'Radha', 'Nami']
Plus d'exemples sur la méthode List copy()
Voyons quelques exemples de la liste copie() méthode.
Exemple 1 : copie de liste simple
Dans cet exemple, nous créons une liste de Chaînes Python et nous utilisons copie() méthode pour copier la liste dans une autre variable.
Python3
lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)> |
Sortir
Copied List: ['Geeks', 'for', 'Geeks']
Exemple 2 : Démonstration du fonctionnement de List copy()
Ici, nous allons créer un Liste Python puis créez une copie superficielle à l'aide de la fonction copy(). Ensuite, nous ajouterons une valeur à la liste copiée pour vérifier si la copie d'une liste à l'aide de la méthode copy() affecte la liste d'origine.
Python3
# Initializing list> lis1> => [> 1> ,> 2> ,> 3> ,> 4> ]> # Using copy() to create a shallow copy> lis2> => lis1.copy()> # Printing new list> print> (> 'The new list created is : '> +> str> (lis2))> # Adding new element to new list> lis2.append(> 5> )> # Printing lists after adding new element> # No change in old list> print> ('The new> list> after adding new element :> '> +> str> (lis2))> print> ('The old> list> after adding new element to new> list> :> '> +> str> (lis1))> |
Sortir
The new list created is : [1, 2, 3, 4] The new list after adding new element : [1, 2, 3, 4, 5] The old list after adding new element to new list : [1, 2, 3, 4]
Note: Une copie superficielle signifie que si nous modifions l'un des éléments de la liste imbriquée, les modifications sont reflétées dans les deux listes car elles pointent vers la même référence.
Copie superficielle et copie approfondie
UN copie approfondie est une copie d'une liste, où nous ajoutons un élément dans l'une des listes, seule cette liste est modifiée.
Dans copie de liste() méthode, les modifications apportées à la liste copiée ne sont pas reflétées dans la liste d'origine. Les modifications apportées à une liste ne sont pas reflétées sur les autres listes, sauf dans les éléments imbriqués (comme une liste dans une liste).
Nous pouvons utiliser le copie.deepcopy() depuis le module de copie pour éviter ce problème.
- Techniques de copie approfondie :
- Utilisation de copy.deepcopy()
- Techniques de copie superficielle :
- Utilisation de copy.copy()
- Utilisation de list.copy()
- Utiliser le découpage
Pour mieux comprendre, reportez-vous à cet article sur Copie approfondie vs copie superficielle .
Démonstration des techniques de copie superficielle et profonde
Ici, nous allons créer une liste, puis créer une copie superficielle en utilisant le opérateur d'assignation , la méthode list copy() et la méthode copy.copy() du module de copie Python.
Nous créons également une copie complète en utilisant deepcopy() en Python. Ensuite, nous apporterons des modifications à la liste d'origine et verrons si les autres listes sont affectées ou non.
Python3
import> copy> # Initializing list> list1> => [> 1> , [> 2> ,> 3> ] ,> 4> ]> print> (> 'list 1 before modification:
'> , list1)> # all changes are reflected> list2> => list1> # shallow copy - changes to> # nested list is reflected,> # same as copy.copy(), slicing> list3> => list1.copy()> # deep copy - no change is reflected> list4> => copy.deepcopy(list1)> list1.append(> 5> )> list1[> 1> ][> 1> ]> => 999> print> (> 'list 1 after modification:
'> , list1)> print> (> 'list 2 after modification:
'> , list2)> print> (> 'list 3 after modification:
'> , list3)> print> (> 'list 4 after modification:
'> , list4)> |
Sortir
list 1 before modification: [1, [2, 3], 4] list 1 after modification: [1, [2, 999], 4, 5] list 2 after modification: [1, [2, 999], 4, 5] list 3 after modification: [1, [2, 999], 4] list 4 after mo...
Copier la liste à l'aide du découpage
Ici, nous copions la liste en utilisant le découpage de liste méthode [:] et nous ajoutons le 'un' à la new_list. Après l'impression, nous pouvons voir que le caractère « a » nouvellement ajouté n'est pas ajouté à l'ancienne liste.
Python3
list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)> |
Sortir
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']
Nous avons discuté de la définition, de la syntaxe et des exemples de la méthode list copy(). La fonction copy() est très utile lorsque vous travaillez avec des données sensibles et vous ne pouvez pas risquer d’erreurs.
Nous avons également brièvement parlé de copie superficielle ou profonde. J'espère que cela vous a aidé à comprendre la fonction copy() en Python.
Lire autre Méthodes de liste Python
Plus d'articles sur la copie de la liste :
- Python | Clonage ou copie d'une liste
- copier en Python (Deep Copy et Shallow Copy)
- Python | Comment copier une liste imbriquée