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

如何将存储单独比特值的嵌套列表转换为对应字节的二进制字符串

嵌套比特列表转二进制字符串实现方法

问题场景

现有存储32个独立比特值的嵌套列表,需要转换为4个对应单字节的二进制字符串,原始数据结构:

array = [[1, 0, 0, 0, 1, 0, 1, 0],
         [0, 1, 1, 0, 0, 0, 0, 0],
         [0, 0, 0, 0, 1, 0, 0, 0],
         [0, 0, 1, 1, 1, 0, 1, 1]]

预期转换结果:

array[0] == '10001010'
array[1] == '01100000'
array[2] == '00001000'
array[3] == '00111011'

之前的实现输出会携带逗号,例如'1,0,0,0,1,0,1,0',不符合要求。

最简实现

出现带逗号的输出,本质是没有把列表里的整数比特逐个转成字符串再拼接,要么直接用了列表默认的字符串转换逻辑,要么调用join时传入的元素不是字符串类型。
直接用列表推导式+字符串拼接即可实现需求:

array = [''.join(str(bit) for bit in byte_group) for byte_group in array]

如果想要更简洁的写法,可以用map批量完成整数到字符串的转换,执行效率也更高:

array = [''.join(map(str, byte_group)) for byte_group in array]

执行上述代码后,数组内的每个子列表都会被转换为无多余符号的8位二进制字符串,完全匹配预期结果。

避坑提示:不要直接对整数子列表调用str()做转换,该方法会保留列表的方括号、元素间的逗号分隔符,无法得到纯净的二进制串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 00:06:24