It's not _exactly_ what you asked for but it may be enough... Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from sets import Set >>> l = [0,0,1,1,1,2,2,3,3,3,2,2,2,4,4,4,5] >>> s = Set(l) >>> s Set([0, 1, 2, 3, 4, 5]) >>> l2 = list(s) >>> l2 [0, 1, 2, 3, 4, 5] >>>
I say it's not exactly what you wanted because I don't think the ordering of l2 is necessarily the same as l. That may or may not be a problem for you. Regards Steve > -----Original Message----- > From: Alan McIntyre [mailto:[EMAIL PROTECTED] > Sent: 04 February 2005 17:44 > To: python-list@python.org > Subject: "Collapsing" a list into a list of changes > > 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 > > ****************************************** The information contained in, or attached to, this e-mail, may contain confidential information and is intended solely for the use of the individual or entity to whom they are addressed and may be subject to legal privilege. If you have received this e-mail in error you should notify the sender immediately by reply e-mail, delete the message from your system and notify your system manager. Please do not copy it for any purpose, or disclose its contents to any other person. The views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the company. The recipient should check this e-mail and any attachments for the presence of viruses. The company accepts no liability for any damage caused, directly or indirectly, by any virus transmitted in this email. ****************************************** -- http://mail.python.org/mailman/listinfo/python-list