如何在python中将二进制字符串转换为双极表示形式?

时间:2018-11-05 04:55:17

标签: python binary

目前,我有一个格式为'0b10100'的二进制数字。为了在二值神经网络中使用,我想将二进制数转换为双极数,即用-1替换0,因此给出了类似'1 -1 1 -1 -1'的表示形式。 python中是否有任何默认方法可以做到这一点?还能以哪种格式获得输出?

1 个答案:

答案 0 :(得分:1)

您可以使用切片符号剥离开头的文本(“ 0b”):

vector

您可以利用字符串可迭代的事实,并将内置$ cat file.txt 1,1,1 1,2,3 3,1,3 接受可迭代的事实,将结果字符串转换为字符列表:

$ ./bin/iostream_sstream_csv_stoi file.txt
complete array

1  1  1
1  2  3
3  1  3

您可以使用内置的s = "0b10100" s[2:] # "10100" 将单个1个字符的字符串转换为整数。 列表理解允许您在线表达以下内容:

list()

您可以看到通过将输入加倍并减去1,可以将0/1转换为-1/1:

list(s[2:])    # [ '1', '0', '1', '0', '0' ]