Python List copy() Metode
Listen Copy()-metoden lager en ny grunn kopi av en liste.
Eksempel
Python3
# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)> |
Produksjon
['mango', 'apple', 'strawberry']
Hva er List Copy()-metoden?
Listen Copy() funksjon i Python brukes til å lage en kopi av en liste. Det er to hovedmåter å lage en kopi av listen Grunn kopi og Dyp kopi. Vi vil diskutere list copy()-metoden i detalj nedenfor.
List copy()-funksjonen brukes til å lage en kopi av en liste, som kan brukes til å fungere, og den vil ikke påvirke verdiene i den opprinnelige listen. Dette gir frihet til å manipulere data uten å bekymre deg for tap av data.
List copy() Metodesyntaks
list.copy()
Parametere
- Copy()-metoden tar ingen parametere.
Returnerer: Returnerer en grunt eksemplar av en liste.
Merk : En grunn kopi betyr at enhver endring i den nye listen ikke vil gjenspeiles i den opprinnelige listen.
Hvordan lage en enkel kopi av en liste i Python
Kopiering og opprettelse av en ny liste kan gjøres ved å bruke copy()-funksjonen i Python.
Python3
# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)> |
Produksjon
['Priya', 'Neha', 'Radha', 'Nami']
Flere eksempler på List copy() Method
La oss se noen eksempler på listen kopiere() metode.
Eksempel 1: Enkel listekopi
I dette eksemplet lager vi en liste over Python-strenger og vi bruker kopiere() metode for å kopiere listen til en annen variabel.
Python3
lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)> |
Produksjon
Copied List: ['Geeks', 'for', 'Geeks']
Eksempel 2: Demonstrere virkemåten til List copy()
Her skal vi lage en Python-liste og lag deretter en grunn kopi ved å bruke copy()-funksjonen. Deretter vil vi legge til en verdi til den kopierte listen for å sjekke om kopiering av en liste med metoden copy() påvirker den originale listen.
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))> |
Produksjon
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]
Merk: En grunn kopi betyr at hvis vi endrer noen av de nestede listeelementene, reflekteres endringer i begge listene ettersom de peker til samme referanse.
Shallow Copy og Deep Copy
EN dyp kopi er en kopi av en liste, hvor vi legger til et element i en hvilken som helst av listene, bare den listen er endret.
I liste kopi() metoden, reflekteres ikke endringer som er gjort i den kopierte listen i den opprinnelige listen. Endringene som er gjort på én liste, gjenspeiles ikke på andre lister bortsett fra i nestede elementer (som en liste i en liste).
Vi kan bruke copy.deepcopy() fra kopimodulen for å unngå dette problemet.
- Teknikker for dypkopiering:
- Bruke copy.deepcopy()
- Teknikker for grunt kopiering:
- Bruke copy.copy()
- Bruker list.copy()
- Ved hjelp av skjæring
For å få en dypere forståelse, se denne artikkelen om Deep Copy vs Shallow Copy .
Demonstrerer teknikker for grunn og dyp kopi
Her vil vi lage en liste og deretter lage en grunn kopi ved å bruke oppdragsoperatør , liste copy()-metoden og copy.copy()-metoden for Python-kopimodulen.
Vi lager også en dyp kopi ved å bruke deepcopy() i Python. Deretter vil vi gjøre endringer i den opprinnelige listen og se om de andre listene er berørt eller ikke.
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)> |
Produksjon
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...
Kopier liste ved hjelp av skjæring
Her kopierer vi listen ved å bruke listeskjæring metode [:] og vi legger til 'en' til den nye_listen. Etter utskrift kan vi se at det nylig vedlagte tegnet 'a' ikke er lagt til den gamle listen.
Python3
list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)> |
Produksjon
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']
Vi diskuterte definisjonen, syntaksen og eksempler på list copy()-metoden. copy()-funksjonen er veldig nyttig når du arbeider med sensitive data, og du kan ikke risikere feil.
Vi snakket også kort om grunn vs dyp kopi. Håper dette hjalp deg med å forstå copy()-funksjonen i Python.
Les Annet Python listemetoder
Flere artikler om til listeeksemplar:
- Python | Kloning eller kopiering av en liste
- kopi i Python (Deep Copy og Shallow Copy)
- Python | Hvordan kopiere en nestet liste