0

我有一个十六进制字符串列表。

mylist = ['0xff', '0x34', '0x95', '0x11']

我想将此列表放入另一个列表,但采用十六进制格式。因此列表应该看起来像这样。

myhexlist = ['\xff', '\x34', '\x95', '\x11']

我试过的:

#!/usr/bin/env python

myhexlist = []
mylist = ['0xff', '0x34', '0x95', '0x11']

for b in mylist:
    myhexlist.append( hex(int(b,16)) )

print myhexlist

这不会产生所需的输出。

4

1 回答 1

2

您想使用chr而不是hex(这只是反转转换)。

此外,使用列表推导而不是附加到列表的循环更有效。

>>> myhexlist = [chr(int(hex_str, 16)) for hex_str in mylist]
>>> myhexlist
['\xff', '4', '\x95', '\x11']

(显然你不会得到一个\x##可打印的字符)。

于 2013-10-16T20:06:26.777 回答