[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