Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将十六进制字符串转换为十六进制?_Python - Fatal编程技术网

Python 如何将十六进制字符串转换为十六进制?

Python 如何将十六进制字符串转换为十六进制?,python,Python,我有一个十六进制字符串列表 mylist = ['0xff', '0x34', '0x95', '0x11'] 我想把这个列表放到另一个列表中,但是用十六进制格式。因此,列表应该是这样的 myhexlist = ['\xff', '\x34', '\x95', '\x11'] 我所尝试的: #!/usr/bin/env python myhexlist = [] mylist = ['0xff', '0x34', '0x95', '0x11'] for b in mylist:

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

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

它不会产生所需的输出。

您希望使用
chr
而不是
hex
(它只是反转转换)

此外,使用列表理解比使用附加到列表的循环更有效

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

(显然,对于可打印字符,您不会得到
\x##

为什么不直接用
\x
替换
0x
?例如,
myhexlist=[i.replace(“0x”,“\\x”)表示mylist中的i]
。这将保持数据类型与字符串相同。尼古拉斯的回答正是我想要做的。