logo

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




jakie są wymiary ekranu mojego komputera
# 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: