[Python] Strano comportamento di list

2008-10-13 Per discussione michele
Ciao, sto cercando di eliminare alcuni elementi da una lista, ma ottengo uno strano comportamento: L [(1, 3, 16300), (2, 0, 12000), (3, 0, 13500), (3, 1500, 1000), (1, 4, 38473), (1 , 5, 38473), (5, 5, 38473), (3, 5, 38473), (2, 5, 38473), (1, 1, 38473)] for k in L: ... if k[0] == 1:

Re: [Python] Strano comportamento di list

2008-10-13 Per discussione Andrea Gasparini
ciao, Dove sbaglio? devi iterere su una copia della lista, altrimenti tutte le volte che la modifichi fai confusione: for k in L: ... print k ... if k[0] == 1: ... L.remove(k) ... (1, 3, 16300) (3, 0, 13500) (3, 1500, 1000) (1, 4, 38473) (5, 5, 38473) (3, 5, 38473) (2, 5, 38473)

Re: [Python] Strano comportamento di list

2008-10-13 Per discussione Eriol
On Monday 13 October 2008 15:44:39 [EMAIL PROTECTED] wrote: Come vedete (1, 5, 38473) è rimasto, e non capisco perché. Perché il for-in mantiene un indice interno incrementato ad ogni ciclo: se modifichi la lista su cui stai iterando ovviamente l'indice del ciclo e quello della lista, non

Re: [Python] Strano comportamento di list

2008-10-13 Per discussione Esalando Prassi
2008/10/13 [EMAIL PROTECTED] Ciao, sto cercando di eliminare alcuni elementi da una lista, ma ottengo uno strano comportamento: L [(1, 3, 16300), (2, 0, 12000), (3, 0, 13500), (3, 1500, 1000), (1, 4, 38473), (1 , 5, 38473), (5, 5, 38473), (3, 5, 38473), (2, 5, 38473), (1, 1, 38473)]