Michael Spencer said unto the world upon 2005-03-27 20:04:
> James Stroud wrote:> >> Hello,>>>> I have strings represented as a combination of an alphabet (AGCT) and >> a an operator "/", that signifies degeneracy. I want to split these >> strings into lists of lists, where the degeneracies are members of the >> same list and non-degenerates are members of single item lists. An >> example will clarify this:>>>> "ATT/GATA/G">>>> gets split to>>>> [['A'], ['T'], ['T', 'G'], ['A'], ['T'], ['A', 'G']]>>> > >>> def group(src):> ... stack = []> ... srciter = iter(src)> ... for i in srciter:> ... if i == "/":> ... stack[-1].append(srciter.next())> ... else:> ... stack.append([i])> ... return stack> ...> >>> group("ATT/GATA/G")> [['A'], ['T'], ['T', 'G'], ['A'], ['T'], ['A', 'G']]> >>>> > Michael>
Much nicer than mine. =| :-)
^
|
---- (hats off)
I've got to get iterators into my working vocabulary!
Best,
Brian vdB