2013/9/19 Riccardo Lemmi <ricca...@reflab.com> > Piergiuliano Bossi wrote: > > > 2013/9/18 Riccardo Lemmi <ricca...@reflab.com> > > > >> > >> > >> Mi sfugge il caso, forse un esempio chiarirebbe... L'unico posto in > >> cui vedo male il codice messo sopra è quello in cui si usano gli > >> elementi dell'array non in sequenza ma pescando in "qua e la'" > >> > >> > > Ho visto la luce. > > > > Questo e' il codice che ha causato il thread (semplificato, > > ovviamente); > > > > def evaluate(list): > > return sum(v for v in list if v % 2 == 0) > > > > def _subtract(list1, list2): > > result = list1[:] > > for val in list2: > > result.remove(val) > > return result > > Manca un check prima di fare il remove. Alternativamente la scriverei > così: > > Vero, ma in questo contesto so gia' che l'elemento che rimuovo e' gia' nella lista.
> > detto così sembra proprio che tu stia lavorando con i set... > > Quasi: in realta' ognuna di quelle liste puo' contenere duplicati, quindi i set sono fuori discussione. Mi ero baloccato con l'idea di usare un dict dove la chiave e' la posizione nella lista originaria, ma diventava tutto troppo complesso e l'algoritmo e' insensibile rispetto alla posizione nella lista. Ciao Giuliano -- Piergiuliano Bossi Blog: http://thinkingbox.wordpress.com/ Twitter: http://twitter.com/thinkingbox (English) Twitter: http://twitter.com/scatolapensante (Italiano) Google+: https://plus.google.com/u/0/108187981162465525118
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python