首页 > 解决方案 > 使用索引将二进制字符串转换为整数数组

问题描述

我有 4 个二进制数据字符串;我想使用每个列将输出作为整数,即

p1 = '10010010101111' 
p2 = '11100011110001' 
p3 = '00001110101101' 
p4 = '00101100010010'

我想将输出作为整数作为[p1 p2 p3 p4]

以下代码不断返回语法错误。我哪里错了?

for i in range(0,len(p1),1):
    x = [p1[i],p2[i],p3[i],p4[i]]
    y = ''.join(map(str,x))
    z[i] = int(y,2)

标签: pythonarrays

解决方案


您可以使用 zip() 转置列和本机二进制字符串转换以获得数值:

z = [ int("".join(bits),2) for bits in zip(p1,p2,p3,p4) ]
print(z) # [12, 4, 5, 8, 3, 3, 14, 4, 14, 5, 10, 10, 9, 14]

推荐阅读