<div dir="ltr">2008/10/13 <span dir="ltr"><<a href="mailto:michele@nectarine.it">michele@nectarine.it</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Ciao,<br>
sto cercando di eliminare alcuni elementi da una lista, ma ottengo uno<br>
strano comportamento:<br>
<br>
>>> L<br>
[(1, 3, 16300), (2, 0, 12000), (3, 0, 13500), (3, 1500, 1000), (1, 4,<br>
38473), (1<br>
, 5, 38473), (5, 5, 38473), (3, 5, 38473), (2, 5, 38473), (1, 1, 38473)]<br>
>>> for k in L:<br>
... if k[0] == 1:<br>
... L.remove(k)<br>
...<br>
>>> L<br>
[(2, 0, 12000), (3, 0, 13500), (3, 1500, 1000), (1, 5, 38473), (5, 5,<br>
38473), (3<br>
, 5, 38473), (2, 5, 38473)]<br>
<br>
Come vedete (1, 5, 38473) è rimasto, e non capisco perché.<br>
<br>
La mia versione di python:<br>
ActivePython <a href="http://2.5.2.2" target="_blank">2.5.2.2</a> (ActiveState Software Inc.) based on<br>
Python 2.5.2 (r252:60911, Mar 27 2008, 17:57:18) [MSC v.1310 32 bit<br>
(Intel)] on<br>
win32<br>
<br>
Dove sbaglio?<br>
Grazie<br>
<br>
<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br>
</blockquote></div><br><br clear="all">Come ti hanno detto l'errore e' modificare la lista durante il ciclo.<br>Probabilmente la soluzione migliore per risolvere il tuo problema e' usare la list comprehension:<br>
L = [x for x in L if not x[0]==1]<br><br>Ciao!<br>-- <br><a href="http://alepisa.blogspot.com">http://alepisa.blogspot.com</a><br>Esalando Prassi<br>
</div>