[Tutor] Eliminating consecutive duplicates in a list
Robert Berman
bermanrl at cfl.rr.com
Thu Jun 18 17:08:01 CEST 2009
Whoops. That's called assuming what I read is really what I see. A good
lesson in reading questions twice.
I remember this from a post some time back and I remember having been
intrigued by it. I used Google, and since I tend to keep extensive
notes, the solution I found is not uniquely mine, but it does work.
http://wasstock.com/?p=12
Robert
On Thu, 2009-06-18 at 16:23 +0200, karma wrote:
> Hi Robert,
>
> Thanks for the link. However, I am looking for eliminating consecutive
> duplicates rather than all duplicates - my example wasn't clear,
> apologies for that.
>
> x=[1,1,1,3,2,2,2,4,4,2,2]
>
> [1 ,3 ,2 ,4 ,2 ]
>
>
> 2009/6/18 Robert Berman <bermanrl at cfl.rr.com>:
> > This might help: http://code.activestate.com/recipes/52560/
> >
> > Robert
> >
> >
> > On Thu, 2009-06-18 at 15:15 +0200, karma wrote:
> >> I was playing around with eliminating duplicates in a list not using
> >> groupby. From the two solutions below, which is more "pythonic".
> >> Alternative solutions would be welcome.
> >>
> >> Thanks
> >>
> >> x=[1,1,1,3,2,2,2,2,4,4]
> >>
> >> [v for i,v in enumerate(x) if x[i]!=x[i-1] or i==0]
> >>
> >> [x[i] for i in range(len(x)-1) if i==0 or x[i]!=x[i-1]]
> >>
> >> output:
> >> [1, 3, 2, 4]
> >> _______________________________________________
> >> Tutor maillist - Tutor at python.org
> >> http://mail.python.org/mailman/listinfo/tutor
> >
> >
More information about the Tutor
mailing list