首页 > 解决方案 > 如何将python的整数列表转换为十六进制列表,得到列表错误“struct.error:所需参数不是整数”

问题描述

我有一个列表,a=[0,1]我想改变 a=[0x00,0x001]类型。我怎样才能做到这一点?我试过这种方式

print (struct.pack('>h',a))

但我无法更改为十六进制

标签: pythonlist

解决方案


使用hex(...)只会给你最少的前导 0:

print( [hex(i) for i in [0,1]])  #  ['0x1', '0x2']

您可以将字符串格式化(...)为十六进制和zfill()所需数量的零并'0x'自己添加:

data = [0,1]

as_hex = [ "0x" + format(e,"x").zfill(2) for e in data]

print(as_hex)

输出:

['0x00', '0x01']

推荐阅读