On Jun 11, 8:49 am, ahlongxp <[EMAIL PROTECTED]> wrote: > list=('a','d','c','d') > for a in list: > if a=='a' : > #skip the letter affer 'a' > > what am I supposed to do?
You could do this with itertools.ifilter and an predicate (pred) for a more OO solution. I've created 2 lists, the source list (l) and the expected answer (ans). Make sure this is what you meant in your problem statement: import itertools l = ['a', 'b', 'c', 'a', 'd', 'e', 'f', 'a', 'g', 'h'] ans = ['a', 'c', 'a', 'e', 'f', 'a', 'h'] class pred(object): def __init__(self): self.last = None def __call__(self, arg): result = None if self.last == 'a': result = False else: result = True self.last = arg return result i = itertools.ifilter(pred(), l) result = list(i) print result print ans assert result == ans print 'done' -- http://mail.python.org/mailman/listinfo/python-list