[Python] Confronto dizionari.
Federico Fissore
federico a fsfe.org
Mar 2 Feb 2021 11:44:37 CET
Gabriele Battaglia wrote on 02/02/21 11:28:
> Che cosa mi sfugge? d.copy non dovrebbe creare un dizionario nuovo,
> svincolato dai riferimenti alle variabili, l, contenuti nell'origine, d?
>
`dict.copy` fa una "shallow copy", cioè crea un nuovo dizionario e ci
mette dentro chiavi e valori dell'originale, senza copiarle
il riferimento alla lista ['io', 20] è quindi condiviso da entrambe le
"copie": un cambiamento fatto su un dizionario si riflette sui contenuti
di quello copiato
se vuoi proprio copiare, usa deepcopy [0]
ti consiglio però di usare un approccio diverso: la tua funzione prende
il dizionario in input e torna True/False a seconda che l'abbia
modificato o meno
federico
[0] https://docs.python.org/3/library/copy.html#copy.deepcopy
Maggiori informazioni sulla lista
Python