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

Rispondere a