Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Copiare una matrice

ClaudioDiCocco (710 points)
7 17 24
in Es3 by (710 points)
closed by

Salve,

ho la necessita' di fare una copia di una matrice ed ho notato che con i comandi copy() e matrice2 = matrice[:]  incappo nel seguente problema:

le due matrici hanno ID di indirizzamento differenti, percio' sono considerati due variabili differenti MA gli elementi al suo interno hanno gli stessi ID percio' modificandone uno in una della due matrici (che sia una delle tuple colore o un'intera lista di tuple). 

Per ovviare al problema ho pensato ad un doppio ciclo che mi scorre ogni elemento della matrice e ne crea una copia. La cosa funziona. l'unico problema rimastomi e' il tempo che ci mette a fare la copia(comunque un'immagine 400 * 400 ha un totale di 160000 elementi).

Percio' ecco la domanda: conoscete un modo piu' rapido per copiare una lista che al suo interno ha delle liste che a loro volta hanno delle tuple al loro interno (in pratica la matrice che ci troviamo ad analizzare)?

1.4k views
closed with the note: answered

1 Answer

restante.giuseppe (2480 points)
7 32 49
by (2.5k points)
Utilizza deepcopy()
ClaudioDiCocco (710 points)
7 17 24
by (710 points)
Grazie mille, molto utile, mi toglie un po di di complessita', ma perdo in velocita' di esecuzione vedro' cosa mi conviene fare
o
orlandoalessio1998 (7730 points)
7 24 36
by (7.7k points)
conviene non farlo ahaha, sicuramente c'è un modo per ovviare alla copia della lista, trovalo :)
ClaudioDiCocco (710 points)
7 17 24
by (710 points)
non saprei proprio come fare altrimenti