Saraksts Copy() metode izveido jaunu seklu saraksta kopiju.
Piemērs
Python3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Izvade
['mango', 'apple', 'strawberry']>
Kas ir saraksta kopēšanas () metode?
Saraksts Copy () funkcija iekšā Python tiek izmantots, lai izveidotu saraksta kopiju. Ir divi galvenie veidi, kā izveidot saraksta kopiju Sekla kopija un Dziļa kopija. Tālāk mēs detalizēti apspriedīsim sarakstu copy() metodi.
Funkcija list copy() tiek izmantota, lai izveidotu saraksta kopiju, kuru var izmantot darbam, un tā neietekmēs sākotnējā saraksta vērtības. Tas dod brīvību manipulēt ar datiem, neuztraucoties par datu zudumu.
List copy() Metodes sintakse
list.copy()
Parametri
- Kopēšanas () metodei nav nepieciešami nekādi parametri.
Atgriež: Atgriež a sekla kopija no saraksta.
Piezīme : sekla kopija nozīmē, ka jebkuras izmaiņas jaunajā sarakstā netiks atspoguļotas sākotnējā sarakstā.
Kā izveidot vienkāršu saraksta kopiju programmā Python
Kopēt un izveidot jaunu sarakstu var veikt, izmantojot Python funkciju copy().
Python3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Izvade
['Priya', 'Neha', 'Radha', 'Nami']>
Vairāk piemēru par List copy() metodi
Apskatīsim dažus saraksta piemērus kopēt () metodi.
1. piemērs: vienkārša saraksta kopija
Šajā piemērā mēs veidojam sarakstu ar Python virknes un mēs lietojam kopēt () metode, lai kopētu sarakstu uz citu mainīgo.
Python3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Izvade
Copied List: ['Geeks', 'for', 'Geeks']>
2. piemērs: List copy () darbības demonstrēšana
Šeit mēs izveidosim a Python saraksts un pēc tam izveidojiet seklu kopiju, izmantojot funkciju copy (). Pēc tam nokopētajam sarakstam pievienosim vērtību, lai pārbaudītu, vai saraksta kopēšana, izmantojot metodi copy(), ietekmē sākotnējo sarakstu.
Python3
rindas autocad komanda
# 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))> |
>
>Izvade
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]>
Piezīme: Sekla kopija nozīmē, ka, ja mēs modificējam kādu no ligzdotajiem saraksta elementiem, izmaiņas tiek atspoguļotas abos sarakstos, jo tās norāda uz vienu un to pašu atsauci.
Sekla kopija un dziļa kopija
A dziļa kopija ir saraksta kopija, kurā mēs pievienojam elementu jebkurā no sarakstiem, tikai šis saraksts tiek mainīts.
In saraksta kopija () metodi, kopētajā sarakstā veiktās izmaiņas netiek atspoguļotas sākotnējā sarakstā. Vienā sarakstā veiktās izmaiņas netiek atspoguļotas citos sarakstos, izņemot ligzdotajos elementos (piemēram, sarakstā sarakstā).
Mēs varam izmantot copy.deepcopy() no kopēšanas moduļa, lai izvairītos no šīs problēmas.
- Dziļās kopēšanas metodes:
- Izmantojot copy.deepcopy()
- Seklās kopēšanas metodes:
- Izmantojot copy.copy()
- Izmantojot list.copy()
- Izmantojot sagriešanu
Lai iegūtu dziļāku izpratni, skatiet šo rakstu par Dziļa kopija pret seklu kopiju .
Seklās un dziļās kopijas paņēmienu demonstrēšana
Šeit mēs izveidosim sarakstu un pēc tam izveidosim seklu kopiju, izmantojot norīkojuma operators , uzskaitiet Python kopēšanas moduļa metodi copy() un metodi copy.copy().
Mēs arī izveidojam dziļu kopiju, izmantojot deepcopy() programmā Python. Pēc tam mēs veiksim izmaiņas sākotnējā sarakstā un pārbaudīsim, vai tiek ietekmēti citi saraksti.
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)> |
>
>Izvade
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...>
Kopēt sarakstu, izmantojot sagriešanu
Šeit mēs kopējam sarakstu, izmantojot saraksta sagriešana metode [:], un mēs pievienojam 'a' uz jauno_sarakstu. Pēc drukāšanas mēs varam redzēt, ka nesen pievienotā rakstzīme “a” nav pievienota vecajam sarakstam.
Python3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Izvade
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Mēs apspriedām saraksta kopijas () metodes definīciju, sintaksi un piemērus. copy() funkcija ir ļoti noderīga, strādājot ar sensitīviem datiem, un jūs nevarat riskēt ar kļūdām.
Mēs arī īsi runājām par seklu un dziļu kopiju. Cerams, ka tas jums palīdzēja izprast Python funkciju copy ().
Lasiet Cits Python saraksta metodes
Vairāk rakstu par saraksta kopiju:
- Python | Saraksta klonēšana vai kopēšana
- kopēt Python (Deep Copy un Shallow Copy)
- Python | Kā kopēt ligzdotu sarakstu