Listan Copy()-metoden gör en ny ytlig kopia av en lista.
Exempel
Python3
# Using list fruits> fruits> => [> 'mango'> ,> 'apple'> ,> 'strawberry'> ]> # creating a copy shakes> shakes> => fruits.copy()> # printing shakes list> print> (shakes)> |
>
>Produktion
['mango', 'apple', 'strawberry']>
Vad är List Copy()-metoden?
Listan Copy() funktion i Pytonorm används för att skapa en kopia av en lista. Det finns två huvudsakliga sätt att skapa en kopia av listan Grund kopia och Djup kopia. Vi kommer att diskutera list copy()-metoden i detalj nedan.
List copy()-funktionen används för att skapa en kopia av en lista, som kan användas för att fungera och den kommer inte att påverka värdena i den ursprungliga listan. Detta ger frihet att manipulera data utan att oroa sig för dataförlust.
Lista copy() Metodsyntax
list.copy()
Parametrar
- Metoden copy() tar inga parametrar.
Returnerar: Returnerar a ytlig kopia av en lista.
Notera : En ytlig kopia betyder att alla ändringar i den nya listan inte kommer att återspeglas i den ursprungliga listan.
Hur man skapar en enkel kopia av en lista i Python
Kopiering och skapande av en ny lista kan göras med funktionen copy() i Python.
Python3
# Using List girls> girls> => [> 'Priya'> ,> 'Neha'> ,> 'Radha'> ,> 'Nami'> ]> # Creating new copy> girlstudent> => girls.copy()> #printing new list> print> (girlstudent)> |
>
>Produktion
['Priya', 'Neha', 'Radha', 'Nami']>
Fler exempel på List copy() Method
Låt oss se några exempel på listan kopiera() metod.
Exempel 1: Enkel listkopia
I det här exemplet skapar vi en lista med Pythonsträngar och vi använder kopiera() metod för att kopiera listan till en annan variabel.
Python3
lis> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> new_list> => lis.copy()> print> (> 'Copied List:'> , new_list)> |
>
>Produktion
Copied List: ['Geeks', 'for', 'Geeks']>
Exempel 2: Att demonstrera hur List copy() fungerar
Här kommer vi att skapa en Python lista och skapa sedan en ytlig kopia med funktionen copy() . Sedan kommer vi att lägga till ett värde till den kopierade listan för att kontrollera om kopiering av en lista med metoden copy() påverkar den ursprungliga listan.
Python3
powershell kommentar multiline
# 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))> |
>
>Produktion
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]>
Notera: En ytlig kopia innebär att om vi ändrar något av de kapslade listelementen, återspeglas ändringar i båda listorna eftersom de pekar på samma referens.
Shallow Copy och Deep Copy
A djup kopia är en kopia av en lista, där vi lägger till ett element i någon av listorna, bara den listan ändras.
I list copy() metod, ändringar som gjorts i den kopierade listan återspeglas inte i den ursprungliga listan. Ändringarna i en lista återspeglas inte på andra listor förutom i kapslade element (som en lista i en lista).
Vi kan använda copy.deepcopy() från kopieringsmodulen för att undvika detta problem.
- Tekniker för att djupkopiera:
- Använda copy.deepcopy()
- Tekniker för ytlig kopia:
- Använda copy.copy()
- Använder list.copy()
- Använder skivning
För att få en djupare förståelse, Se den här artikeln om Deep Copy vs Shallow Copy .
Demonstrera tekniker för grund och djup kopia
Här kommer vi att skapa en lista och sedan skapa en ytlig kopia med hjälp av uppdragsoperatör , lista copy()-metoden och copy.copy()-metoden för Python-kopieringsmodulen.
Vi skapar också en djupkopia med hjälp av deepcopy() i Python. Sedan kommer vi att göra ändringar i den ursprungliga listan och se om de andra listorna påverkas eller inte.
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)> |
>
>Produktion
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...>
Kopiera lista med skivning
Här kopierar vi listan med hjälp av listskiva metod [:] och vi lägger till 'a' till den nya_listan. Efter utskrift kan vi se att det nyligen tillagda tecknet 'a' inte har lagts till i den gamla listan.
Python3
list> => [> 2> ,> 4> ,> 6> ]> new_list> => list> [:]> new_list.append(> 'a'> )> print> (> 'Old List:'> ,> list> )> print> (> 'New List:'> , new_list)> |
>
>Produktion
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Vi diskuterade definitionen, syntaxen och exempel på list copy()-metoden. copy()-funktionen är mycket användbar när du arbetar med känslig data och du kan inte riskera misstag.
Vi pratade också kort om ytlig vs djup kopia. Hoppas detta hjälpte dig att förstå copy()-funktionen i Python.
Läs Annat Python List metoder
Fler artiklar om att lista kopia:
- Python | Klona eller kopiera en lista
- kopiera i Python (Deep Copy och Shallow Copy)
- Python | Hur man kopierar en kapslad lista