Metoda kopiowania listy Pythona ().

Metoda listy Copy(). tworzy nową, płytką kopię listy.

Przykład

Python3




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

Wyjście

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

Co to jest metoda kopiowania listy()?

Lista Funkcja kopiowania(). W Pyton służy do tworzenia kopii listy. Istnieją dwa główne sposoby tworzenia kopii listy Płytka kopia I Głęboki egzemplarz. Poniżej omówimy szczegółowo metodę kopiowania listy ().

Funkcja list copy() służy do tworzenia kopii listy, na której można pracować i która nie będzie miała wpływu na wartości na oryginalnej liście. Daje to swobodę manipulowania danymi bez obawy o ich utratę.

Składnia metody List copy().

lista.kopia()

Parametry

  • Metoda copy() nie przyjmuje żadnych parametrów.

Zwroty: Zwraca płytka kopia z listy.

Notatka : Płaska kopia oznacza, że ​​wszelkie modyfikacje na nowej liście nie zostaną odzwierciedlone na oryginalnej liście.

Jak utworzyć prostą kopię listy w Pythonie

Kopiowanie i tworzenie nowej listy można wykonać za pomocą funkcji copy() w Pythonie.

Python3




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

Wyjście

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

Więcej przykładów na temat metody kopiowania listy ().

Zobaczmy kilka przykładów z listy Kopiuj() metoda.

Przykład 1: Prosta kopia listy

W tym przykładzie tworzymy listę Ciągi Pythona i używamy Kopiuj() metoda kopiowania listy do innej zmiennej.

Python3




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

Wyjście

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

Przykład 2: Demonstracja działania funkcji List copy()

Tutaj utworzymy Lista Pythona a następnie utwórz płytką kopię za pomocą funkcji copy(). Następnie dołączymy wartość do skopiowanej listy, aby sprawdzić, czy skopiowanie listy za pomocą metody copy() ma wpływ na listę oryginalną.

Python3




# 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))>

Wyjście

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] 

Notatka: Płytka kopia oznacza, że ​​jeśli zmodyfikujemy którykolwiek z zagnieżdżonych elementów listy, zmiany zostaną odzwierciedlone na obu listach, ponieważ wskazują na to samo odwołanie.

Płytka kopia i głęboka kopia

A głęboka kopia to kopia listy, gdzie dodajemy element do dowolnej listy, tylko ta lista jest modyfikowana.

W kopia listy() metody zmiany wprowadzone na skopiowanej liście nie zostaną odzwierciedlone na liście oryginalnej. Zmiany wprowadzone na jednej liście nie są odzwierciedlane na innych listach, z wyjątkiem elementów zagnieżdżonych (takich jak lista na liście).

Możemy skorzystać z kopia.głęboka kopia() z modułu kopiowania, aby uniknąć tego problemu.

  • Techniki głębokiego kopiowania:
    • Korzystanie z funkcji copy.deepcopy()
  • Techniki płytkiego kopiowania:
    • Używanie funkcji copy.copy()
    • Używanie list.copy()
    • Korzystanie z krojenia

Aby uzyskać głębsze zrozumienie, zapoznaj się z tym artykułem na temat Głęboka kopia kontra płytka kopia .

Demonstracja technik płytkiego i głębokiego kopiowania

Tutaj utworzymy listę, a następnie utworzymy płytką kopię za pomocą operator przypisania , metoda list copy() i metoda copy.copy() modułu kopiowania Pythona.

Tworzymy również głęboką kopię za pomocą deepcopy() w Pythonie. Następnie wprowadzimy zmiany na oryginalnej liście i sprawdzimy, czy ma to wpływ na inne listy, czy 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)>

Wyjście

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

Skopiuj listę za pomocą krojenia

Tutaj kopiujemy listę za pomocą krojenie listy metoda [:] i dołączamy 'A' do nowej_listy. Po wydrukowaniu widzimy, że nowo dodany znak „a” nie został dodany do starej listy.

Python3




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

Wyjście

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

Omówiliśmy definicję, składnię i przykłady metody list copy(). Funkcja copy() jest bardzo przydatna podczas pracy z wrażliwymi danymi i nie można ryzykować błędów.

Krótko rozmawialiśmy także o kopiowaniu płytkim i głębokim. Mam nadzieję, że pomogło ci to w zrozumieniu funkcji copy() w Pythonie.

Przeczytaj Inne Metody list w Pythonie

Więcej artykułów na temat kopiowania listy: