El mètode List Copy() fa una nova còpia superficial d'una llista.
Exemple
Python 3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Sortida
['mango', 'apple', 'strawberry']>
Què és el mètode List Copy()?
La llista Funció Copy(). en Python s'utilitza per crear una còpia d'una llista. Hi ha dues maneres principals de crear una còpia de la llista Còpia poc profunda i Còpia profunda. A continuació parlarem del mètode list copy() amb detall.
La funció list copy() s'utilitza per crear una còpia d'una llista, que es pot utilitzar per funcionar i no afectarà els valors de la llista original. Això dóna llibertat per manipular dades sense preocupar-se per la pèrdua de dades.
Llista copy() Sintaxi del mètode
llista.còpia()
Paràmetres
- El mètode copy() no pren cap paràmetre.
Devolucions: Retorna a còpia poc profunda d'una llista.
Nota : una còpia poc profunda significa que qualsevol modificació a la llista nova no es reflectirà a la llista original.
Com crear una còpia senzilla d'una llista a Python
La còpia i la creació d'una llista nova es pot fer mitjançant la funció copy() a Python.
Python 3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Sortida
['Priya', 'Neha', 'Radha', 'Nami']>
Més exemples sobre el mètode List copy().
Vegem alguns exemples de la llista copiar () mètode.
Exemple 1: Còpia de llista simple
En aquest exemple, estem creant una llista de Cordes de Python i estem utilitzant copiar () mètode per copiar la llista a una altra variable.
Python 3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Sortida
Copied List: ['Geeks', 'for', 'Geeks']>
Exemple 2: demostració del funcionament de List copy()
Aquí crearem un Llista de Python i després creeu una còpia superficial utilitzant la funció copy(). A continuació, afegirem un valor a la llista copiada per comprovar si copiar una llista amb el mètode copy() afecta la llista original.
Python 3
seleccioneu entre diverses taules en sql
# 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))> |
>
>Sortida
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]>
Nota: Una còpia superficial vol dir que si modifiquem algun dels elements de la llista imbricada, els canvis es reflecteixen en ambdues llistes ja que apunten a la mateixa referència.
Còpia superficial i còpia profunda
A còpia profunda és una còpia d'una llista, on afegim un element a qualsevol de les llistes, només es modifica aquesta llista.
En còpia de la llista () mètode, els canvis fets a la llista copiada no es reflecteixen a la llista original. Els canvis fets a una llista no es reflecteixen en altres llistes excepte en elements imbricats (com una llista dins d'una llista).
Podem utilitzar el copy.deepcopy() des del mòdul de còpia per evitar aquest problema.
- Tècniques de còpia profunda:
- Utilitzant copy.deepcopy()
- Tècniques de còpia superficial:
- Utilitzant copy.copy()
- Utilitzant list.copy()
- Utilitzant el tall
Per obtenir una comprensió més profunda, consulteu aquest article sobre Còpia profunda vs còpia superficial .
Demostració de tècniques de còpia superficial i profunda
Aquí crearem una llista i després crearem una còpia poc profunda amb l' operador d'assignació , el mètode list copy() i el mètode copy.copy() del mòdul de còpia de Python.
També creem una còpia profunda amb deepcopy() a Python. Després farem canvis a la llista original i veurem si les altres llistes es veuen afectades o no.
Python 3
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)> |
>
>Sortida
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...>
Copieu la llista mitjançant el tall
Aquí estem copiant la llista amb el tall de llista mètode [:] i anem afegint el 'a' a la nova_llista. Després d'imprimir, podem veure que el nou caràcter 'a' no s'afegeix a la llista antiga.
Python 3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Sortida
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Hem comentat la definició, la sintaxi i els exemples del mètode list copy(). La funció copy() és molt útil quan es treballa amb dades sensibles i no es pot arriscar a errors.
També hem parlat breument de còpia superficial o còpia profunda. Espero que això us hagi ajudat a entendre la funció copy() a Python.
Llegir Altres Mètodes de llista de Python
Més articles sobre la còpia de la llista:
- Python | Clonar o copiar una llista
- còpia en Python (còpia profunda i còpia superficial)
- Python | Com copiar una llista imbricada