interleave string

Wojciech Muła wojciech_mula at poczta.null.onet.pl.invalid
Tue Feb 15 05:09:14 EST 2011


On Tue, 15 Feb 2011 10:53:56 +0100 Andrea Crotti
<andrea.crotti.0 at gmail.com> wrote:

> Just a curiosity not a real problem, I want to pass from a string like
> 
> xxaabbddee
> to
> xx:aa:bb:dd:ee
> 
> so every two characters insert a ":".
> At the moment I have this ugly inliner
>         interleaved = ':'.join(orig[x:x+2] for x in range(0,
> len(orig), 2))
> 
> but also something like this would work
> [''.join((x,y)) for x, y in zip(orig[0::2], orig[1::2])]
> 
> any other ideas?

import re

s = 'xxaabbddee'
m = re.compile("(..)")
s1 = m.sub("\\1:", s)[:-1]

w.



More information about the Python-list mailing list