将python的整数列表转换为十六进制数

时间:2014-12-08 07:06:59

标签: python

我有从硬件读取的库函数并返回

value = readregister(registerindex,numbytes)

其中value是一个python列表。

如果numbytes为2,则将在

中返回完整的返回号码
value[0],value[1]

例如,它返回

    [128,2]

以十六进制表示

   [0x80,0x2]

如何将2个元素的列表值转换为十六进制python数? 所以如果组合它们我应该得到0x280即640

2 个答案:

答案 0 :(得分:2)

无需转换为中间十六进制表示。你可以左移这些位来创建你想要的数字。

def get_number(values):
    total = 0
    for val in reversed(values):
        total = (total << 8) + val
    return total 

答案 1 :(得分:0)

试试这个:

list=[128,2]
>>> b=[]
>>> for item in list:
...     b.append(hex(item))
... 
>>> b
>>>[0x80,0x2]