Luettelo Copy()-menetelmä tekee luettelosta uuden matalan kopion.
Esimerkki
Python 3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Lähtö
['mango', 'apple', 'strawberry']>
Mikä on List Copy() -menetelmä?
Lista Copy()-funktio sisään Python käytetään luettelon kopion luomiseen. On kaksi päätapaa luoda kopio luettelosta Matala kopio ja Syvä kopio. Käsittelemme lista copy() -menetelmää yksityiskohtaisesti alla.
List copy()-funktiolla luodaan luettelosta kopio, jota voidaan käyttää toimimaan eikä se vaikuta alkuperäisen listan arvoihin. Tämä antaa vapauden käsitellä tietoja huolehtimatta tietojen katoamisesta.
List copy() -menetelmän syntaksi
list.copy()
Parametrit
- Copy()-menetelmä ei ota mitään parametreja.
Palautukset: Palauttaa a matala kopio luettelosta.
Huomautus : Matala kopio tarkoittaa, että uudessa luettelossa tehdyt muutokset eivät näy alkuperäisessä luettelossa.
Kuinka luoda yksinkertainen kopio luettelosta Pythonissa
Kopiointi ja uuden listan luominen voidaan tehdä Pythonissa copy()-funktiolla.
Python 3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Lähtö
['Priya', 'Neha', 'Radha', 'Nami']>
Lisää esimerkkejä List copy() -menetelmästä
Katsotaanpa muutamia esimerkkejä luettelosta kopio() menetelmä.
Esimerkki 1: Yksinkertainen luettelokopio
Tässä esimerkissä luomme luettelon Python-merkkijonot ja käytämme kopio() tapa kopioida luettelo toiseen muuttujaan.
Python 3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Lähtö
Copied List: ['Geeks', 'for', 'Geeks']>
Esimerkki 2: List copy():n toiminnan osoittaminen
Täällä luomme a Python lista ja luo sitten matala kopio käyttämällä copy()-funktiota. Tämän jälkeen lisäämme kopioituun luetteloon arvon tarkistaaksemme, vaikuttaako luettelon kopioiminen copy()-menetelmällä alkuperäiseen luetteloon.
Python 3
unix-yläkomento
# 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))> |
>
>Lähtö
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]>
Huomautus: Matala kopio tarkoittaa, että jos muutamme jotakin sisäkkäisistä luetteloelementeistä, muutokset näkyvät molemmissa luetteloissa, koska ne osoittavat samaan viittaukseen.
Shallow Copy ja Deep Copy
A syvä kopio on kopio luettelosta, johon lisäämme elementin mihin tahansa luetteloon, vain sitä listaa muokataan.
Sisään lista kopio() -menetelmällä kopioituun luetteloon tehdyt muutokset eivät näy alkuperäisessä luettelossa. Yhteen luetteloon tehdyt muutokset eivät näy muissa luetteloissa paitsi sisäkkäisissä elementeissä (kuten luettelon sisällä).
Voimme käyttää copy.deepcopy() kopiointimoduulista tämän ongelman välttämiseksi.
- Syväkopiointitekniikat:
- Käytä copy.deepcopy()
- Matalakopiointitekniikat:
- Käytä copy.copy()
- List.copy()
- Viipalointia käyttämällä
Saadaksesi syvemmän ymmärryksen, katso tämä artikkeli aiheesta Deep Copy vs Shallow Copy .
Matalan ja syvän kopion tekniikoiden esittely
Täällä luomme luettelon ja luomme sitten matalan kopion käyttämällä toimeksiantooperaattori , listaa Python-kopiomoduulin copy()- ja copy.copy()-metodi.
Luomme myös syväkopion käyttämällä deepcopy()-komentoa Pythonissa. Sitten teemme muutoksia alkuperäiseen luetteloon ja katsomme, vaikuttavatko muut luettelot vai eivät.
Python 3
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)> |
>
>Lähtö
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...>
Kopioi luettelo käyttämällä viipalointia
Tässä kopioimme luettelon käyttämällä listan viipalointi menetelmä [:] ja liitämme 'a' uuteen_listaan. Tulostamisen jälkeen voimme nähdä, että äskettäin lisättyä merkkiä 'a' ei ole lisätty vanhaan luetteloon.
Python 3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Lähtö
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Käsittelimme lista copy()-menetelmän määritelmää, syntaksia ja esimerkkejä. copy()-toiminto on erittäin hyödyllinen, kun työskentelet arkaluontoisten tietojen kanssa, etkä voi vaarantaa virheitä.
Puhuimme myös lyhyesti matalasta vs syvästä kopiosta. Toivottavasti tämä auttoi sinua ymmärtämään copy()-funktion Pythonissa.
Lue Muut Python-luettelomenetelmät
Lisää artikkeleita luetteloon:
- Python | Luettelon kloonaus tai kopioiminen
- kopio Pythonissa (Deep Copy ja Shallow Copy)
- Python | Sisäkkäisen luettelon kopioiminen