De lijst Copy() -methode maakt een nieuwe ondiepe kopie van een lijst.
Voorbeeld
Python3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Uitvoer
['mango', 'apple', 'strawberry']>
Wat is de List Copy()-methode?
De lijst Kopieer() functie in Python wordt gebruikt om een kopie van een lijst te maken. Er zijn twee manieren om een kopie van de lijst te maken Oppervlakkige kopie En Diepe kopie. We zullen de list copy() methode hieronder in detail bespreken.
De functie list copy() wordt gebruikt om een kopie van een lijst te maken, die gebruikt kan worden om te werken en heeft geen invloed op de waarden in de originele lijst. Dit geeft de vrijheid om gegevens te manipuleren zonder dat u zich zorgen hoeft te maken over gegevensverlies.
Lijst copy() Syntaxis van methode
lijst.copy()
Parameters
- De methode copy() gebruikt geen parameters.
Geeft terug: Retourneert een Oppervlakkige kopie van een lijst.
Opmerking : Een oppervlakkige kopie betekent dat elke wijziging in de nieuwe lijst niet wordt weerspiegeld in de originele lijst.
Hoe u een eenvoudige kopie van een lijst in Python maakt
Het kopiëren en maken van een nieuwe lijst kan worden gedaan met behulp van de functie copy() in Python.
Python3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Uitvoer
['Priya', 'Neha', 'Radha', 'Nami']>
Meer voorbeelden in de lijstkopie()-methode
Laten we een paar voorbeelden van de lijst bekijken kopiëren() methode.
Voorbeeld 1: Eenvoudige lijstkopie
In dit voorbeeld maken we een lijst met Python-snaren en wij gebruiken kopiëren() methode om de lijst naar een andere variabele te kopiëren.
Python3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Uitvoer
Copied List: ['Geeks', 'for', 'Geeks']>
Voorbeeld 2: De werking van List copy() demonstreren
Hier zullen we een Python-lijst en maak vervolgens een ondiepe kopie met de functie copy(). Vervolgens voegen we een waarde toe aan de gekopieerde lijst om te controleren of het kopiëren van een lijst met de methode copy() invloed heeft op de originele lijst.
Python3
hoe een geheel getal naar een string Java te converteren
# 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))> |
>
>Uitvoer
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]>
Opmerking: Een ondiepe kopie betekent dat als we een van de geneste lijstelementen wijzigen, de wijzigingen in beide lijsten worden weerspiegeld omdat ze naar dezelfde verwijzing verwijzen.
Ondiepe kopie en diepe kopie
A diepe kopie is een kopie van een lijst, waarbij we een element aan een van de lijsten toevoegen, alleen die lijst wordt gewijzigd.
In lijst kopiëren() methode worden wijzigingen aangebracht in de gekopieerde lijst niet weerspiegeld in de oorspronkelijke lijst. De wijzigingen die in één lijst zijn aangebracht, worden niet weerspiegeld in andere lijsten, behalve in geneste elementen (zoals een lijst binnen een lijst).
Wij kunnen gebruik maken van de kopieer.deepcopy() vanuit de kopieermodule om dit probleem te voorkomen.
- Technieken om diep te kopiëren:
- Copy.deepcopy() gebruiken
- Technieken voor oppervlakkig kopiëren:
- Copy.copy() gebruiken
- Lijst.copy() gebruiken
- Met behulp van snijden
Om een dieper inzicht te krijgen, raadpleeg dit artikel op Diepe kopie versus ondiepe kopie .
Technieken van oppervlakkig en diep kopiëren demonstreren
Hier zullen we een lijst maken en vervolgens een ondiepe kopie maken met behulp van de opdracht operator , lijst copy() methode en copy.copy() methode van de Python-kopieermodule.
We maken ook een diepe kopie met behulp van deepcopy() in Python. Vervolgens zullen we wijzigingen aanbrengen in de oorspronkelijke lijst en kijken of de andere lijsten hierdoor worden beïnvloed of niet.
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)> |
>
>Uitvoer
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...>
Lijst kopiëren met behulp van segmenteren
Hier kopiëren we de lijst met behulp van de lijst snijden methode [:] en we voegen de 'A' naar de nieuwe_lijst. Na het afdrukken kunnen we zien dat het nieuw toegevoegde teken ‘a’ niet aan de oude lijst is toegevoegd.
Python3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Uitvoer
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
We hebben de definitie, syntaxis en voorbeelden van de methode list copy() besproken. De copy()-functie is erg handig bij het werken met gevoelige gegevens en u kunt geen fouten riskeren.
We hebben het ook kort gehad over ondiepe versus diepe kopieën. Ik hoop dat dit je heeft geholpen bij het begrijpen van de copy()-functie in Python.
Lees Overige Python-lijstmethoden
Meer artikelen over lijstkopie:
- Python | Een lijst klonen of kopiëren
- kopiëren in Python (Deep Copy en Shallow Copy)
- Python | Een geneste lijst kopiëren