如何将二进制字符串列表的每个元素拆分为整数子列表?
二进制字符串列表转嵌套整数列表实现方案
实现代码
简洁版(列表推导式)
仅需一行即可完成转换,效率高可读性好:
# 原始输入数据 bin_list = ['000101111000', '011110111011'] # 转换逻辑 bin_list = [[int(c) for c in s] for s in bin_list] # 验证输出 print(bin_list)
基础版(for循环)
更便于理解执行逻辑:
bin_list = ['000101111000', '011110111011'] result = [] for s in bin_list: sub_list = [] for char in s: sub_list.append(int(char)) result.append(sub_list) bin_list = result
输出结果
两种写法最终得到的结果完全符合预期:[[0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0], [0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1]]
逻辑说明
- 外层遍历原始列表中的每个二进制字符串
- 内层遍历单条二进制字符串的每个字符,使用
int()将字符类型的0/1转换为整数,生成嵌套子列表 - 若需要过滤字符串中可能存在的非0/1异常字符,可在内层增加判断逻辑:
bin_list = [[int(c) for c in s if c in ('0','1')] for s in bin_list]
内容的提问来源于stack exchange,提问作者Noám Manriquez
相关产品推荐
相关产品推荐

