Metóda zoznamu Copy(). vytvorí novú plytkú kópiu zoznamu.
Príklad
Python3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Výkon
['mango', 'apple', 'strawberry']>
Čo je metóda List Copy()?
Zoznam Funkcia Copy(). v Python sa používa na vytvorenie kópie zoznamu. Existujú dva hlavné spôsoby vytvorenia kópie zoznamu Plytká kópia a Hlboká kópia. O metóde list copy() budeme podrobne diskutovať nižšie.
Funkcia list copy() sa používa na vytvorenie kópie zoznamu, ktorú je možné použiť na prácu a neovplyvní hodnoty v pôvodnom zozname. To dáva slobodu manipulovať s údajmi bez obáv zo straty údajov.
Syntax metódy List copy().
list.copy()
Parametre
- Metóda copy() neberie žiadne parametre.
Vrátenie: Návraty a plytká kópia zo zoznamu.
Poznámka : Plytká kópia znamená, že akákoľvek úprava v novom zozname sa neprejaví v pôvodnom zozname.
Ako vytvoriť jednoduchú kópiu zoznamu v Pythone
Kopírovanie a vytváranie nového zoznamu je možné vykonať pomocou funkcie copy() v Pythone.
Python3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Výkon
['Priya', 'Neha', 'Radha', 'Nami']>
Ďalšie príklady metódy List copy().
Pozrime sa na niekoľko príkladov zo zoznamu kopírovať () metóda.
Príklad 1: Jednoduché kopírovanie zoznamu
V tomto príklade vytvárame zoznam Python reťazce a používame kopírovať () metóda na skopírovanie zoznamu do inej premennej.
Python3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Výkon
Copied List: ['Geeks', 'for', 'Geeks']>
Príklad 2: Ukážka fungovania funkcie List copy()
Tu vytvoríme a Zoznam Python a potom vytvorte plytkú kópiu pomocou funkcie copy(). Potom do skopírovaného zoznamu pripojíme hodnotu, aby sme skontrolovali, či kopírovanie zoznamu pomocou metódy copy() ovplyvní pôvodný zoznam.
Python3
typ dátumu strojopisu
# 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))> |
>
>Výkon
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]>
Poznámka: Plytká kópia znamená, že ak upravíme niektorý z prvkov vnoreného zoznamu, zmeny sa prejavia v oboch zoznamoch, pretože ukazujú na rovnaký odkaz.
Shallow Copy a Deep Copy
A hlboká kópia je kópia zoznamu, kde do ktoréhokoľvek zo zoznamov pridáme prvok, upraví sa iba tento zoznam.
In kópia zoznamu() spôsobe, zmeny vykonané v skopírovanom zozname sa neprejavia v pôvodnom zozname. Zmeny vykonané v jednom zozname sa neprejavia v iných zoznamoch okrem vnorených prvkov (ako je zoznam v zozname).
Môžeme použiť copy.deepcopy() z kopírovacieho modulu, aby ste sa vyhli tomuto problému.
- Techniky hlbokého kopírovania:
- Použitie copy.deepcopy()
- Techniky plytkého kopírovania:
- Použitie copy.copy()
- Pomocou list.copy()
- Pomocou krájania
Ak chcete získať hlbšie pochopenie, prečítajte si tento článok Deep Copy vs Shallow Copy .
Ukážka techník plytkej a hlbokej kópie
Tu vytvoríme zoznam a potom vytvoríme plytkú kópiu pomocou operátor priradenia , vypíšte metódu copy() a metódu copy.copy() modulu kopírovania Pythonu.
Hlbokú kópiu vytvoríme aj pomocou deepcopy() v Pythone. Potom vykonáme zmeny v pôvodnom zozname a uvidíme, či sú ovplyvnené ostatné zoznamy alebo nie.
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)> |
>
>Výkon
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írovať zoznam pomocou krájania
Tu kopírujeme zoznam pomocou krájanie zoznamu metóda [:] a pripájame „a“ do nového_zoznamu. Po vytlačení vidíme, že novo pridaný znak „a“ nie je pridaný do starého zoznamu.
Python3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Výkon
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Diskutovali sme o definícii, syntaxi a príkladoch metódy list copy(). funkcia copy() je veľmi užitočná pri práci s citlivými údajmi a nemôžete riskovať chyby.
Krátko sme hovorili aj o plytkom vs. hlbokom kopírovaní. Dúfam, že vám to pomohlo pochopiť funkciu copy() v Pythone.
Prečítajte si Iné Metódy zoznamu Python
Ďalšie články na kopírovanie zoznamu:
- Python | Klonovanie alebo kopírovanie zoznamu
- kopírovať v Pythone (Deep Copy a Shallow Copy)
- Python | Ako skopírovať vnorený zoznam