Alan McIntyre wrote: > Hi all, > > I have a list of items that has contiguous repetitions of values, but
> the number and location of the repetitions is not important, so I just > need to strip them out. For example, if my original list is > [0,0,1,1,1,2,2,3,3,3,2,2,2,4,4,4,5], I want to end up with [0,1,2,3,2,4,5]. > > Here is the way I'm doing this now: > > def straightforward_collapse(myList): > collapsed = [myList[0]] > for n in myList[1:]: > if n != collapsed[-1]: > collapsed.append(n) > > return collapsed > > Is there an elegant way to do this, or should I just stick with the code > above? > > Thanks, > Alan McIntyre > http://www.esrgtech.com Here is a version using dictionary properties, ie no duplication of keys. def condense(l): d={} for item in l: d[item]=1 l=d.keys() return l Cheers Tony -- http://mail.python.org/mailman/listinfo/python-list