Re: [Python] Confronto dizionari.

2021-02-11 Per discussione Gabriele Battaglia
Reply to the Giovanni Porcari's message, wrote on 11/02/2021 at 11:48: Il giorno 2 feb 2021, alle ore 12:14, Gabriele Battaglia ha scritto: Questo mi risparmia di scrivere un bel po di codice perchè la funzione che agisce su d è lunga e complessa, con una marea di condizioni annidate e per

Re: [Python] Confronto dizionari.

2021-02-11 Per discussione Giovanni Porcari
> Il giorno 11 feb 2021, alle ore 11:48, Giovanni Porcari > ha scritto: > > Inoltre ridefinisce la __setattr_ in modo che ad ogni chiamata per cambiare > il valore vada ad aggiungere alla lista dei cambiamenti una tupla di chiave e > valore e poi chiami la super di __setattr__ Ho scritto pe

Re: [Python] Confronto dizionari.

2021-02-11 Per discussione Giovanni Porcari
> Il giorno 11 feb 2021, alle ore 12:26, Massimo Masson > ha scritto: > > Giovanni sei sempre "sul pezzo" in modo devastante! > Fantastico! > > E, aggiungerei, una soluzione che... non usa le Bag!!! > hahaha!!! :-) In realtà è il modo in cui la Bag implementa i trigger :D G

Re: [Python] Confronto dizionari.

2021-02-11 Per discussione Massimo Masson
Il 11/02/2021 11:48, Giovanni Porcari ha scritto: [...] Potresti usare un approccio più originale. Ovvero creare una classe che potresti chiamare ‘DizionarioSpione’ [...] In questo modo dopo la chiamata alka tua funzione spiadict._changes ti darà l’elenco di tutti i cambiamenti. Giovanni s

Re: [Python] Confronto dizionari.

2021-02-11 Per discussione Giovanni Porcari
> Il giorno 2 feb 2021, alle ore 12:14, Gabriele Battaglia > ha scritto: > > Questo mi risparmia di scrivere un bel po di codice perchè la funzione che > agisce su d è lunga e complessa, con una marea di condizioni annidate e per > ciascuna avrei dovuto dire..."se succede questo allora flagg

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Gabriele Battaglia
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

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Gabriele Battaglia
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 variabili

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Gabriele Battaglia
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ì,

[Python] Confronto dizionari.

2021-02-02 Per discussione Gabriele Battaglia
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) Q

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Federico Fissore
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 dizio

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Ernesto Arbitrio
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 > > considerand

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Federico Fissore
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'ori

Re: [Python] Confronto dizionari.

2021-02-02 Per discussione Ernesto Arbitrio
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 preciso.