Removing from a List in Place
Gregory Piñero
gregpinero at gmail.com
Tue Sep 5 18:56:31 EDT 2006
On 9/5/06, Tim Williams <tim at tdw.net> wrote:
> > It does already, you just haven't grasped list fully yet :):)
> >
> > when you remove 2 from alist, the list becomes length 2, there is no
> > longer a 3rd item in the list to iterate over.
> >
> > Try this
> >
> > > >>> alist=[1 ,2 ,3, 4]
> > > >>> for item in alist:
> > > .... print item
> > > .... if item==2:
> > > .... alist.remove(item)
> > > .... print alist
> >
>
> sorry, I meant to offer an alternative also
>
> in yourgiven case you can iterate over a copy of the list like this:
>
> >>> for item in alist[:] :
>
Thanks Tim. I suppose that does make sense. Iterating over a copy is
a good alternative.
-Greg
More information about the Python-list
mailing list