Il metodo list Copy() crea una nuova copia superficiale di un elenco.
Esempio
Python3
# Using list fruits> fruits>=> [>'mango'>,>'apple'>,>'strawberry'>]> # creating a copy shakes> shakes>=> fruits.copy()> # printing shakes list> print>(shakes)> |
>
>Produzione
['mango', 'apple', 'strawberry']>
Cos'è il metodo List Copy()?
La lista Funzione Copia() In Pitone viene utilizzato per creare una copia di un elenco. Esistono due modi principali per creare una copia dell'elenco Copia superficiale E Copia profonda. Discuteremo il metodo list copy() in dettaglio di seguito.
La funzione list copy() viene utilizzata per creare una copia di una lista, che può essere utilizzata per funzionare e non influirà sui valori della lista originale. Ciò dà la libertà di manipolare i dati senza preoccuparsi della perdita di dati.
Sintassi del metodo List copy()
lista.copia()
Parametri
- Il metodo copy() non accetta alcun parametro.
Ritorna: Restituisce a copia superficiale di un elenco.
Nota : Una copia superficiale significa che qualsiasi modifica nel nuovo elenco non si rifletterà nell'elenco originale.
Come creare una semplice copia di una lista in Python
La copia e la creazione di un nuovo elenco possono essere eseguite utilizzando la funzione copy() in Python.
Python3
# Using List girls> girls>=> [>'Priya'>,>'Neha'>,>'Radha'>,>'Nami'>]> # Creating new copy> girlstudent>=> girls.copy()> #printing new list> print>(girlstudent)> |
>
>Produzione
['Priya', 'Neha', 'Radha', 'Nami']>
Altri esempi nell'elenco Metodo copy()
Vediamo alcuni esempi della lista copia() metodo.
Esempio 1: copia elenco semplice
In questo esempio, stiamo creando un Elenco di Stringhe di pitone e stiamo utilizzando copia() metodo per copiare l'elenco in un'altra variabile.
Python3
lis>=> [>'Geeks'>,>'for'>,>'Geeks'>]> new_list>=> lis.copy()> print>(>'Copied List:'>, new_list)> |
>
>Produzione
Copied List: ['Geeks', 'for', 'Geeks']>
Esempio 2: dimostrazione del funzionamento di List copy()
Qui creeremo un file Elenco Python e quindi creare una copia superficiale utilizzando la funzione copy(). Quindi aggiungeremo un valore all'elenco copiato per verificare se la copia di un elenco utilizzando il metodo copy() influisce sull'elenco originale.
Python3
è una relazione
# 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))> |
>
>Produzione
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 copia superficiale significa che se modifichiamo uno qualsiasi degli elementi dell'elenco nidificato, le modifiche si rifletteranno in entrambi gli elenchi poiché puntano allo stesso riferimento.
Copia superficiale e copia approfondita
UN copia profonda è una copia di una lista, dove aggiungiamo un elemento in una qualsiasi delle liste, solo quella lista viene modificata.
In copia elenco() metodo, le modifiche apportate all'elenco copiato non si riflettono nell'elenco originale. Le modifiche apportate a un elenco non si riflettono su altri elenchi tranne che negli elementi nidificati (come un elenco all'interno di un elenco).
Possiamo usare il copia.deepcopy() dal modulo di copia per evitare questo problema.
- Tecniche per copiare in profondità:
- Utilizzando copy.deepcopy()
- Tecniche per copiare superficialmente:
- Utilizzando copy.copy()
- Utilizzando list.copy()
- Utilizzando l'affettatura
Per ottenere una comprensione più profonda, fare riferimento a questo articolo su Copia approfondita e copia superficiale .
Dimostrazione delle tecniche di copia superficiale e profonda
Qui creeremo un elenco e quindi creeremo una copia superficiale utilizzando il file operatore di assegnazione , elenca il metodo copy() e il metodo copy.copy() del modulo di copia Python.
Creiamo anche una copia profonda utilizzando deepcopy() in Python. Quindi apporteremo modifiche all'elenco originale e vedremo se gli altri elenchi sono interessati o meno.
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)> |
>
>Produzione
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...>
Copia elenco utilizzando l'affettatura
Qui stiamo copiando l'elenco utilizzando il file elenco affettamento metodo [:] e stiamo aggiungendo il metodo 'UN' alla nuova_lista. Dopo la stampa possiamo vedere che il carattere 'a' appena aggiunto non è stato aggiunto al vecchio elenco.
Python3
list> => [>2>,>4>,>6>]> new_list>=> list>[:]> new_list.append(>'a'>)> print>(>'Old List:'>,>list>)> print>(>'New List:'>, new_list)> |
>
>Produzione
Old List: [2, 4, 6] New List: [2, 4, 6, 'a']>
Abbiamo discusso la definizione, la sintassi e gli esempi del metodo list copy(). La funzione copy() è molto utile quando si lavora con dati sensibili e non si possono rischiare errori.
Abbiamo anche parlato brevemente della copia superficiale e di quella profonda. Spero che questo ti abbia aiutato a comprendere la funzione copy() in Python.
Leggi altro Metodi dell'elenco Python
Altri articoli sulla copia dell'elenco:
- Pitone | Clonazione o copia di un elenco
- copiare in Python (copia profonda e copia superficiale)
- Pitone | Come copiare un elenco nidificato