All pastes #260243 Raw Edit

unseq

public python v1 · immutable
#260243 ·published 2006-11-28 04:04 UTC
rendered paste body
# go from  1-5,7,9-11# to 1,2,3,4,5,7,9,11s = "1-5,7,9-11"def tokenizer (text, sep):    try:        while True:            token = ''            while text[0] == sep:                text = text[1:]            index = 0            while text[index] != sep:                token += text[index]                index += 1            yield token            text = text[index:]            #print text, index    except IndexError:        if token != '':            yield tokenprint s, "\n\tyields:"for t in tokenizer(s, ','):        if '-' in t:                #print 'range:', t                u = tokenizer(t, '-')                x = int(u.next())                y = int(u.next())                for r in xrange(x,y):                        print r                print y        else:                #print 'single:', t                print t