[Python] Confronto dizionari.

Gabriele Battaglia iz4apu a libero.it
Mar 2 Feb 2021 11:51:30 CET


Reply to the Ernesto Arbitrio's message, wrote on 02/02/2021 at 11:38:
> Ciao Gabriele, non ho capito molto bene il tuo problema, ma copy fa una 
> copia shallow ovvero "only one level deep", se vuoi una copia completa 
> considerando tutti i livelli di nesting devi usare deepcopy.
> 
Ciao Ernesto.
Sì, hai capito bene, il problema è proprio quello, mi serve la copia di 
tutte le variabili annidate, incluse nel dizionario che copio.

Non conoscevo l'esistenza del modulo copy.
Ora grazie al tuo suggerimento, ho risolto:

 >>> import copy
 >>> d={}
 >>> l=['io',22]
 >>> d[1]=l
 >>> c = copy.deepcopy(d)
 >>> c
{1: ['io', 22]}
 >>> d[1][1] = 23
 >>> c
{1: ['io', 22]}

Perfetto, in questo caso il dizionario c è rimasto immutato.
Grazie ancora.
Gabriele.


Maggiori informazioni sulla lista Python