Metoda seznama Copy(). naredi novo kopijo seznama.
Primer
Python3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Izhod
['mango', 'apple', 'strawberry']>
Kaj je metoda List Copy()?
Seznam Funkcija Copy(). v Python se uporablja za ustvarjanje kopije seznama. Kopijo seznama lahko ustvarite na dva glavna načina Plitka kopija in Globoka kopija. Spodaj bomo podrobno obravnavali metodo list copy().
Funkcija list copy() se uporablja za ustvarjanje kopije seznama, ki se lahko uporablja za delo in ne bo vplivala na vrednosti v izvirnem seznamu. To omogoča svobodo manipulacije s podatki brez skrbi za izgubo podatkov.
Sintaksa metode List copy().
list.copy()
Parametri
- Metoda copy() ne sprejema nobenih parametrov.
Vrne: Vrne a plitka kopija seznama.
Opomba : plitka kopija pomeni, da nobena sprememba novega seznama ne bo prikazana na izvirnem seznamu.
Kako ustvariti preprosto kopijo seznama v Pythonu
Kopiranje in ustvarjanje novega seznama lahko izvedete s funkcijo copy() v Pythonu.
Python3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Izhod
['Priya', 'Neha', 'Radha', 'Nami']>
Več primerov o metodi List copy().
Oglejmo si nekaj primerov seznama kopirati() metoda.
Primer 1: Enostavna kopija seznama
V tem primeru ustvarjamo seznam Python nizi in uporabljamo kopirati() metoda za kopiranje seznama v drugo spremenljivko.
Python3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Izhod
Copied List: ['Geeks', 'for', 'Geeks']>
2. primer: Prikaz delovanja funkcije List copy()
Tukaj bomo ustvarili a Seznam Python in nato ustvarite plitvo kopijo s funkcijo copy(). Nato bomo kopiranemu seznamu dodali vrednost, da preverimo, ali kopiranje seznama z metodo copy() vpliva na izvirni seznam.
Python3
kako odpreti datoteko z javo
# 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))> |
>
>Izhod
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]>
Opomba: Plitka kopija pomeni, da se spremembe odražajo na obeh seznamih, saj kažejo na isto referenco, če spremenimo katerega koli od elementov ugnezdenega seznama.
Plitvo kopiranje in globoko kopiranje
A globoka kopija je kopija seznama, kjer dodamo element v kateri koli od seznamov, le ta seznam se spremeni.
noter kopija seznama () metode, se spremembe kopiranega seznama ne odražajo v izvirnem seznamu. Spremembe enega seznama se ne odražajo na drugih seznamih, razen v ugnezdenih elementih (kot je seznam znotraj seznama).
Lahko uporabimo copy.deepcopy() iz modula za kopiranje, da se izognete tej težavi.
- Tehnike globokega kopiranja:
- Uporaba copy.deepcopy()
- Tehnike plitkega kopiranja:
- Uporaba copy.copy()
- Uporaba list.copy()
- Uporaba rezanja
Če želite pridobiti globlje razumevanje, si oglejte ta članek Globoko kopiranje proti plitkemu kopiranju .
Predstavitev tehnik plitke in globoke kopije
Tukaj bomo ustvarili seznam in nato ustvarili plitvo kopijo z uporabo operater dodelitve , metoda seznama copy() in metoda copy.copy() modula za kopiranje Python.
Izdelamo tudi globoko kopijo z uporabo deepcopy() v Pythonu. Nato bomo naredili spremembe na prvotnem seznamu in videli, ali to vpliva na druge sezname ali ne.
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)> |
>
>Izhod
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...>
Kopiraj seznam z uporabo rezanja
Tukaj kopiramo seznam z uporabo rezanje seznama metoda [:] in dodajamo 'a' na nov_seznam. Po tiskanju lahko vidimo, da na novo dodan znak 'a' ni dodan staremu seznamu.
Python3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Izhod
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Razpravljali smo o definiciji, sintaksi in primerih metode list copy(). funkcija copy() je zelo uporabna pri delu z občutljivimi podatki in ne morete tvegati napak.
Na kratko smo govorili tudi o plitvi proti globoki kopiji. Upam, da vam je to pomagalo pri razumevanju funkcije copy() v Pythonu.
Preberite Drugo Metode seznama Python
Več člankov o kopiji seznama:
- Python | Kloniranje ali kopiranje seznama
- kopiraj v Python (globoko kopiranje in plitko kopiranje)
- Python | Kako kopirati ugnezdeni seznam