On 2008-08-02, Zoltán Nagy <[EMAIL PROTECTED]> wrote: > Kurien Mathew írta: >> Hello, >> >> What will be a concise & efficient way to convert a list/array.array of >> n elements into a hex string? For e.g. given the bytes >> [116, 111, 110, 103, 107, 97] >> I would like the formatted string >> 0x74 0x6f 0x6e 0x67 0x6b 0x61 >> >> Is there an approach better than below: >> hex = '' >> for b in bytes: >> hex += ('0x%x '%b) >> ><snip> > > You should avoid multiple string additions, as each one creates a new > string object (str objects are immutable). Try this: > > bytes = [116, 111, 110, 103, 107, 97] > string = ''.join( ['0x%x '%b for b in bytes] )
That results in an extra ' ' and the end of the string. Try this: string = ' '.join(['0x%02x' % b for b in bytes]) -- Grant Edwards grante Yow! ... Just enough at time to do my LIBERACE visi.com impression... -- http://mail.python.org/mailman/listinfo/python-list