我有一个十六进制字符串列表。
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
这不会产生所需的输出。
答案 0 :(得分:2)
您希望使用chr
而不是hex
(这只会改变转换)。
此外,使用列表推导更有效,而不是使用附加到列表的循环。
>>> myhexlist = [chr(int(hex_str, 16)) for hex_str in mylist]
>>> myhexlist
['\xff', '4', '\x95', '\x11']
(显然你不会为可打印的角色获得\x##
。