> Il giorno 2 feb 2021, alle ore 12:14, Gabriele Battaglia <iz4...@libero.it> > 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 flagga True il > tosave.... così per tante tante volte fino alla fine della funzione dove > potevo poi restituirlo con return. > Invece l'idea del confronto di d entrante e uscente mi sembrava veloce. > C'è qualche motivo, di carattere generale... per cui non si dovrebbe fare? > Chiedo per imparare. :)
Potresti usare un approccio più originale. Ovvero creare una classe che potresti chiamare ‘DizionarioSpione’ spiadict=DizionarioSpione(miodict) Il dizionario spione nella init definisce un self._changes =[] 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__ In questo modo dopo la chiamata alka tua funzione spiadict._changes ti darà l’elenco di tutti i cambiamenti. Scritto al volo e senza testare nulla :D Ciao G _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python