Python List copy() Metoda
Metoda list Copy(). face o nouă copie superficială a unei liste.
Exemplu
Python3
# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)> |
Ieșire
['mango', 'apple', 'strawberry']
Ce este metoda List Copy()?
Lista Funcția Copy(). în Piton este folosit pentru a crea o copie a unei liste. Există două moduri principale de a crea o copie a listei Copie superficială și Copie adâncă. Vom discuta mai jos metoda list copy() în detaliu.
Funcția list copy() este folosită pentru a crea o copie a unei liste, care poate fi folosită pentru a funcționa și nu va afecta valorile din lista originală. Acest lucru oferă libertatea de a manipula datele fără a vă face griji cu privire la pierderea datelor.
List copy() Sintaxa metodei
list.copy()
Parametrii
- Metoda copy() nu ia niciun parametru.
Se intoarce: Returnează a copie superficială a unei liste.
Notă : O copie superficială înseamnă că orice modificare în noua listă nu va fi reflectată în lista originală.
Cum se creează o copie simplă a unei liste în Python
Copierea și crearea unei liste noi se poate face folosind funcția copy() din Python.
Python3
# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)> |
Ieșire
['Priya', 'Neha', 'Radha', 'Nami']
Mai multe exemple despre metoda List copy().
Să vedem câteva exemple din listă copie() metodă.
Exemplul 1: Copiere simplă a listei
În acest exemplu, creăm o listă de Corzi Python iar noi folosim copie() metoda de a copia lista într-o altă variabilă.
Python3
lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)> |
Ieșire
Copied List: ['Geeks', 'for', 'Geeks']
Exemplul 2: Demonstrarea funcționării List copy()
Aici vom crea un Lista Python și apoi creați o copie superficială folosind funcția copy(). Apoi vom adăuga o valoare listei copiate pentru a verifica dacă copierea unei liste folosind metoda copy() afectează lista originală.
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))> |
Ieșire
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]
Notă: O copie superficială înseamnă că dacă modificăm oricare dintre elementele listei imbricate, modificările sunt reflectate în ambele liste, deoarece indică aceeași referință.
Copie superficială și Copie adâncă
A copie adâncă este o copie a unei liste, în care adăugăm un element în oricare dintre liste, doar acea listă este modificată.
În copie lista() metoda, modificările aduse listei copiate nu sunt reflectate în lista originală. Modificările aduse unei liste nu se reflectă în alte liste, cu excepția elementelor imbricate (cum ar fi o listă dintr-o listă).
Putem folosi copy.deepcopy() din modulul de copiere pentru a evita această problemă.
- Tehnici de copiere profundă:
- Folosind copy.deepcopy()
- Tehnici de copiere superficială:
- Folosind copy.copy()
- Folosind list.copy()
- Folosind feliere
Pentru a obține o înțelegere mai profundă, consultați acest articol despre Deep Copy vs Shallow Copy .
Demonstrarea tehnicilor de copiere superficială și profundă
Aici vom crea o listă și apoi vom crea o copie superficială folosind operator de atribuire , metoda list copy() și metoda copy.copy() a modulului de copiere Python.
De asemenea, creăm o copie profundă folosind deepcopy() în Python. Apoi vom face modificări la lista originală și vom vedea dacă celelalte liste sunt sau nu afectate.
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)> |
Ieșire
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...
Copiați lista folosind tăierea
Aici copiem lista folosind tăierea listei metoda [:] și anexăm 'A' la noua_listă. După imprimare, putem vedea că caracterul nou adăugat „a” nu este atașat la vechea listă.
Python3
list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)> |
Ieșire
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']
Am discutat despre definiția, sintaxa și exemplele metodei list copy(). Funcția copy() este foarte utilă atunci când lucrați cu date sensibile și nu puteți risca greșeli.
De asemenea, am vorbit pe scurt despre copiere superficială vs copie profundă. Sper că acest lucru v-a ajutat să înțelegeți funcția copy() în Python.
Citiți Altele Metode Python Listă
Mai multe articole despre copierea listei:
- Python | Clonarea sau copierea unei liste
- copiați în Python (Deep Copy și Shallow Copy)
- Python | Cum să copiați o listă imbricată