logo

Python List copy() metodas

Sąrašo Copy() metodas padaro naują seklią sąrašo kopiją.

Pavyzdys



Python3






# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)>



>

>

Išvestis

['mango', 'apple', 'strawberry']>

Kas yra sąrašo kopijavimo () metodas?

Sąrašas Copy() funkcija in Python naudojamas sąrašo kopijai sukurti. Yra du pagrindiniai būdai sukurti sąrašo kopiją Sekli kopija ir Gili kopija. Toliau išsamiai aptarsime sąrašo kopijavimo () metodą.

Funkcija list copy() naudojama sąrašo kopijai sukurti, kuri gali būti naudojama darbui ir neturės įtakos pradinio sąrašo reikšmėms. Tai suteikia laisvę manipuliuoti duomenimis nesijaudinant dėl ​​duomenų praradimo.

Sąrašo kopija() Metodas Sintaksė

list.copy()

Parametrai

  • Kopijavimo () metodas nepriima jokių parametrų.

Grąžinimai: Grąžina a sekli kopija sąrašo.

Pastaba : sekli kopija reiškia, kad bet koks naujojo sąrašo pakeitimas neatsispindės pradiniame sąraše.

Kaip sukurti paprastą sąrašo kopiją Python

Kopijuoti ir sukurti naują sąrašą galima naudojant Python funkciją copy().

Python3




# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)>

>

>

Išvestis

['Priya', 'Neha', 'Radha', 'Nami']>

Daugiau Sąrašo kopijavimo() metodo pavyzdžių

Pažiūrėkime kelis sąrašo pavyzdžius kopija () metodas.

1 pavyzdys: paprasta sąrašo kopija

Šiame pavyzdyje mes kuriame sąrašą Python eilutės ir mes naudojame kopija () būdas nukopijuoti sąrašą į kitą kintamąjį.

Python3




lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)>

>

>

Išvestis

Copied List: ['Geeks', 'for', 'Geeks']>

2 pavyzdys: Sąrašo kopija () veikimo demonstravimas

Čia sukursime a Python sąrašas tada sukurkite negilią kopiją naudodami funkciją copy(). Tada prie nukopijuoto sąrašo pridėsime reikšmę, kad patikrintume, ar sąrašo kopijavimas naudojant copy() metodą turi įtakos pirminiam sąrašui.

Python3




lentynų šunys
# 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))>

>

>

Išvestis

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]>

Pastaba: Sekli kopija reiškia, kad jei modifikuojame bet kurį iš įdėto sąrašo elementų, pakeitimai atsispindi abiejuose sąrašuose, nes nurodo tą pačią nuorodą.

Sekli kopija ir gili kopija

A gili kopija yra sąrašo kopija, kur mes įtraukiame elementą į bet kurį iš sąrašų, tik tas sąrašas yra modifikuojamas.

Į sąrašo kopija () metodu, nukopijuoto sąrašo pakeitimai neatsispindi pirminiame sąraše. Viename sąraše atlikti pakeitimai neatsispindi kituose sąrašuose, išskyrus įdėtuosius elementus (pvz., sąrašą sąraše).

Mes galime naudoti copy.deepcopy() iš kopijavimo modulio, kad išvengtumėte šios problemos.

  • Gilaus kopijavimo būdai:
    • Naudojant copy.deepcopy()
  • Sekliojo kopijavimo būdai:
    • Naudojant copy.copy()
    • Naudojant list.copy()
    • Naudojant pjaustymą

Norėdami geriau suprasti, skaitykite šį straipsnį Gili kopija vs sekli kopija .

Seklios ir gilios kopijos technikos demonstravimas

Čia sukursime sąrašą, o tada sukursime seklią kopiją naudodami priskyrimo operatorius , išvardykite Python kopijavimo modulio metodą copy() ir copy.copy() metodą.

Taip pat sukuriame giliąją kopiją naudodami „deepcopy() Python“. Tada pakeisime pradinį sąrašą ir pamatysime, ar kiti sąrašai yra paveikti, ar 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)>

>

>

Išvestis

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...>

Nukopijuokite sąrašą naudodami pjaustymą

Čia mes kopijuojame sąrašą naudodami sąrašo pjaustymas metodas [:] ir mes pridedame 'a' į new_list. Išspausdinus matome, kad naujai pridėtas simbolis „a“ nėra pridėtas prie senojo sąrašo.

Python3




list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)>

>

>

Išvestis

Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>

Aptarėme sąrašo kopijavimo() metodo apibrėžimą, sintaksę ir pavyzdžius. copy() funkcija yra labai naudinga dirbant su neskelbtinais duomenimis ir negalite rizikuoti suklysti.

Taip pat trumpai kalbėjome apie seklią ir gilią kopiją. Tikimės, kad tai padėjo jums suprasti copy () funkciją Python.

Skaityti Kita Python sąrašo metodai

Daugiau straipsnių sąraše: