You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写返回十六进制数列表的Python函数?

解决方法

你需要的[0x18, 0x82, ...]本质是整数列表,0x开头只是Python中整数的十六进制表示方式,hex()返回的是字符串形式的十六进制描述,完全没必要用它来生成这个列表。以下是几种实现方式:

直接生成目标列表

如果已经明确要生成的十六进制值,直接把它们以十六进制整数的形式写入函数即可:

def get_hex_list():
    return [
        0x18, 0x82, 0x19, 0x89, 0x91, 0x71, 0x38, 0x58,
        0x10, 0x47, 0x89, 0x65, 0x86, 0x75, 0x26, 0x58,
        0x66, 0x44, 0x74, 0x72, 0x47, 0x11, 0x13, 0x30,
        0x46, 0x13, 0x58, 0x28, 0x81, 0x55, 0x61, 0x23
    ]

调用这个函数后,得到的变量就是你需要的列表,里面的元素都是整数,Python会根据上下文自动以十六进制或十进制显示,但本质完全一致,不影响后续使用。

从其他格式转换生成

如果需要从十进制列表或十六进制字符串列表转换:

  1. 十进制列表转目标列表
def dec_to_hex_list(dec_list):
    return [num for num in dec_list]

比如传入你的列表对应的十进制值[24, 130, 25, 137, ...],返回的就是等价的整数列表,用十六进制表示就是你要的形式。

  1. 十六进制字符串列表转目标列表
    如果你的原始数据是["18", "82", "19", ...]这种字符串形式,可以用int()函数指定进制转换:
def str_to_hex_list(str_hex_list):
    return [int(s, 16) for s in str_hex_list]

调用示例:str_to_hex_list(["18", "82", "19"])会返回[0x18, 0x82, 0x19]。

误区说明

hex()函数的作用是将整数转换为十六进制字符串(比如hex(24)返回"0x18"),这和你需要的整数列表完全是两回事,所以不需要用它来实现需求。

内容的提问来源于stack exchange,提问作者glasshope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:05:18