Elegent way to collapse or expand sub-sequences of a list in Python?
Posted
by forgot
on Stack Overflow
See other posts from Stack Overflow
or by forgot
Published on 2010-04-20T11:32:43Z
Indexed on
2010/04/20
11:53 UTC
Read the original article
Hit count: 215
I want to collapse or expand sub-sequences of a list
e.g. ['A', 'B', 'D', 'E', 'H'] -> ['AB', 'DE', 'H']
and vice versa
currently I wrote some ugly code like:
while True:
for i, x in enumerate(s):
if x == 'A' and s[i+1] == 'B':
s[i:i+2] = 'AB'
break
else:
break
For people who asking 'why do that thing':
Actually I'm working on a optimizing compiler and this is the peephole part. Writing pattern matching is a little annoying.
© Stack Overflow or respective owner