newbie string conversion question

Duncan Booth duncan.booth at invalid.invalid
Sat Apr 1 10:17:26 EST 2006


Felipe Almeida Lessa wrote:

>>>> a = "1234567890"
>>>> b = []
>>>> for i in range(len(a)/2):
> ...     b.append(chr(int(a[i*2:i*2+2][::-1], 16)))
> ...
>>>> b = ''.join(b)
>>>> print b
> !Ce�
>>>> print repr(b)
> '!Ce\x87\t'

Alternatively:

>>> s = "1234567890"
>>> ''.join(chr(int(b+a,16)) for a,b in zip(s[::2],s[1::2]))
'!Ce\x87\t'




More information about the Python-list mailing list