Removal of element from list while traversing causes the next element to be skipped
Santiago Romero
sromero at gmail.com
Wed Jan 30 03:50:26 EST 2008
On 30 ene, 08:09, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
> Santiago Romero <srom... at gmail.com> writes:
>
> > > >>> li = [1,2,3,4,5]
> > > >>> filter(lambda x: x != 3, li)
> > > [1, 2, 4, 5]
>
> > I haven't measured it, but this should be the fast solution in all
> > the thread ...
>
> li.remove(3) is probably faster.
But that only removes the first ocurrence of item==3.
In a = [1, 2, 3, 3, 3, 4, 3, 3, 2, 3], the filter solution will
efectively remove all items with value == 3 while li.remove(3) will
only remove the first ocurrence.
Bye!
More information about the Python-list
mailing list