[pyar] Remover elementos de una lista mientras se la recorre

Ricardo Armas rarmas en gmail.com
Lun Dic 27 12:50:47 ART 2010


2010/12/27 Juanjo Conti <jjconti en gmail.com>:
> Lista, les comento un comportamiento que me llamó la atención:
>
>>>> l = range(3)
>>>> for x in l:
> ...     l.remove(x)
> ...
>>>> l
> [1]
>
> Por qué queda un elemento en la lista?
Ya sé, es así, en la primera se elimina el 0 así que el primer
elemento pasa a ser el 1, el for en el segundo ciclo pasa al segundo
elemento que es el 2, por eso queda el 1 en la lista.

In [52]: l= range(3)

In [53]: for x in l:
   ....:     l.remove(x)
   ....:     print l,x
   ....:
[1, 2] 0
[1] 2





-- 
Ricardo A. Armas



More information about the pyar mailing list