我已经有一个包含一些字符串的列表(作为其他进程的输出),如(例)
BitStream = ['011000111001', '100100111001', '100101100110', ...]
现在我需要将实际值作为二进制,而不是字符串
但是当我尝试用
for bit in BitStream:
BitInteger = bin(bit)
但是它给我错误消息,因为str对象不能被解释为索引
但是当我尝试首先将其更改为int时,我将其更改为二进制,
for bit in BitStream:
BitInteger = int(bit)
BitIntegerBin = bin(BitInteger)
二进制值不是字符串中的实际值。但实际二进制的值被视为整数,变为二进制。
我如何获得实际价值?
答案 0 :(得分:2)
不清楚但我明白了:
>>> a
'011000111001'
>>> bin(int(a,2))
'0b11000111001' # python valid binary format
>>> int(a,2) # integer
1593
代码整数和二进制:
>>> BitStream = ['011000111001', '100100111001', '100101100110']
>>> [ [int(x,2),bin(int(x,2))] for x in BitStream ]
[[1593, '0b11000111001'], [2361, '0b100100111001'], [2406, '0b100101100110']]