如何将二进制字符串数组的每个元素拆分为两部分?
拆分数组中16位二进制字符串为前后8位的实现方案
你需要将数组中每个16位的二进制字符串拆分为前8位和后8位的两部分,以下是几种简洁的Python实现方式:
方法一:列表推导式快速实现
这是最简洁的写法,直接利用Python字符串切片特性完成拆分:
# 你的原始数组 original_array = [ '1011000111001100', '0010110101100111', '0010101011111111', '1010111001101001', '1010110101000101', '1001011111001001', '1010110000001111', '1011000000111001', '0011000101001101', '1011000110100100', '0011000010100110', '1010100111110100', '1011000010100111', '1010000100111000', '1010110001110011', '0011001100101101', '1010111101011010', '1011000011010010', '1010111100010100', '1010101111001000', '0001100000111110', '1010100000010111', '1001110111101000', '0010110111000000', '1010111001011001', '1011011010010011', '1010111100010110', '1010110001010100', '1010011111100000', '1010100001111100', '1010101100110100', '0010101000001000', '1011001010010111', '1010100000000001', '0010010010000011', '0010111001100101', '0001100101010100', '1010100111001011', '0011000001110110', '1010001010101101', '1011001001100000', '0001100001110000', '0011000101101111', '0011001111111010', '0011000101100000', '0010100001011110', '0010110000001000', '1010101010010100', '0010111111001110', '1011010000001100', '1000111110000101', '0010100101101001', '0010110100111011', '0010011101110110', '0010111111101001', '1011000010010111', '0010101001011010', '0011000000000011', '1011000101001100', '0010110010001011', '0010000000001101', '1010111001000101', '1010110011100010', '1010100101000111' ] # 拆分每个字符串为前8位和后8位 split_result = [(s[:8], s[8:]) for s in original_array]
查看拆分结果
如果需要逐个验证拆分后的内容,可以用循环遍历输出:
for i, (first_8, last_8) in enumerate(split_result): print(f"第{i+1}个字符串:") print(f"原内容: {original_array[i]}") print(f"拆分后:前8位={first_8},后8位={last_8}\n")
带长度校验的健壮版本
如果数组中可能存在非16位的字符串,可以加入长度检查避免报错:
split_result = [] for s in original_array: if len(s) == 16: split_result.append((s[:8], s[8:])) else: print(f"跳过不符合要求的字符串:{s}(长度不为16)")
内容的提问来源于stack exchange,提问作者jiiiim
相关产品推荐
相关产品推荐

