如何添加十六进制字符串列表以获得总的十六进制值

how to add the hexadecimal strings list to get the total hexadecimal value

我想添加列表中的所有十六进制值并获得十六进制值(如 0x44)。

我尝试将列表值转换为 int 然后添加它们,然后转换回十六进制但值是 0x32。

请建议我添加字符串十六进制列表以获取十六进制值的方法。

lst = ['0x0', '0x0', '0x1', '0x1', '0x1', '0x1', '0x1', '0xf', '0xf', '0xf']

total =  sum(lst)

错误:

Traceback (most recent call last):
  File "./prog.py", line 3, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

您应该首先使用 int() 将十六进制字符串转换为十六进制值。

>>> lst = ['0x0', '0x0', '0x1', '0x1', '0x1', '0x1', '0x1', '0xf', '0xf', '0xf']
>>> sum([int(_, 16) for _ in lst])
50
>>> hex(sum([int(_, 16) for _ in lst]))
'0x32'