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

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to