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:
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)
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
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)]