English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il metodo copy() restituisce una copia superficiale dell'elenco.
ElencoPuò essere copiato e utilizzato=Operatore. Ad esempio:
old_list = [1, 2, 3] new_list = old_list
Il problema di copiare la lista in questo modo è che se si modifica new_list, old_list viene modificato anche lui.
old_list = [1, 2, 3] new_list = old_list # Aggiungi un elemento alla lista new_list.append('a') print('Nuova lista:', new_list ) print('Vecchia lista:', old_list )
Quando si esegue il programma, l'output è:
Nuova lista: [1, 2, 3, 'a'] Vecchia lista: [1, 2, 3, 'a']
Ma se è necessario mantenere invariata la lista originale quando si modifica la nuova lista, si può utilizzare il metodo copy(). Questo si chiama copia superficiale.
La sintassi della funzione copy() è:
new_list = list.copy()
La funzione copy() non ha parametri.
La funzione copy() restituisce una lista. Non modifica la lista originale.
# Mista lista list = ['猫', 0, 6.7] # Copia di una lista new_list = list.copy() # Aggiungi un elemento alla nuova lista new_list.append('狗') # Stampa delle nuove e vecchie liste print('Vecchia lista: ', list) print('Nuova lista: ', new_list)
Quando si esegue il programma, l'output è:
Vecchia lista: ['猫', 0, 6.7] Nuova lista: ['猫', 0, 6.7, '狗']
Puoi vedere che anche se si modifica la nuova lista, la vecchia lista rimane invariata.
Puoi anche ottenere lo stesso risultato utilizzando lo slice:
# Mista lista list = ['cat', 0, 6.7] # Copia di una lista utilizzando lo slice new_list = list[:] # Aggiungi un elemento alla nuova lista new_list.append('dog') # Stampa delle nuove e vecchie liste print('Vecchia lista: ', list) print('Nuova lista: ', new_list)
Dopo l'esecuzione, il risultato è:
Vecchia lista: ['cat', 0, 6.7] Nuova lista: ['cat', 0, 6.7, 'dog']