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:
- Pythona | Klonowanie lub kopiowanie listy
- kopiuj w Pythonie (głęboka kopia i płytka kopia)
- Pythona | Jak skopiować zagnieżdżoną listę