Reply to the Federico Fissore's message, wrote on 02/02/2021 at 12:31:
Ok Federico, è chiaro ora.
Grazie.
Gabry.
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python
Reply to the Federico Fissore's message, wrote on 02/02/2021 at 11:44:
Ciao Federico, interessante la tua risposta, ti chiedo un chiarimento.
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
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ì,
Buongiorno a tutti.
Ho questo problema da risolvere.
>>> d={}
>>> l=['io',15]
>>> d[1]=l
>>> d
{1: ['io', 15]}
>>> c=d
>>> d[1][1]=20
>>> c
{1: ['io', 20]}
E fin qui, capisco il comportamento di Python.
In un mio programma ho una funzione che agisce su di un dato dizionario:
d = My_Funct(d)
Gabriele Battaglia wrote on 02/02/21 12:13:
Ma allora che differenza c'è fra c=d e c=d.copy()
Se, come dici, ci mette dentro tutto ciò che contiene l'origine senza
modificarli... allora è una semplice assegnazione come quella
dell'operatore "=", giusto?
la differenza è che copy ti da un
On Tue, Feb 2, 2021 at 11:52 AM Gabriele Battaglia wrote:
> 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
> >
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
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.
Se mi spieghi meglio cosa deve fare il tuo programma, provo a risponderti
in modo piu