将数字列表转换为二进制数字基数10

时间:2013-11-30 05:27:36

标签: python list binary

如何将0和1的列表转换为基数为10的二进制数? 例如:([0,0,1,0,0,1])会给我9

3 个答案:

答案 0 :(得分:7)

试试这个:

int("".join(str(x) for x in a),2)

将列表转换为字符串。然后进行二进制到十进制转换

答案 1 :(得分:4)

这很简单:

>>> a = [0,0,1,0,0,1]
>>> s = "".join(map(str, a))
>>> s
'001001'
>>> int(s, base=2)
9

答案 2 :(得分:0)

您可以使用int函数和第二个参数来指示基数。因为,列表中有数字,必须转换为字符串(int只接受字符串),所以我们map(str, data)

print "".join(map(str, data))

<强>输出

001001

所以,归结为这个

data = [0,0,1,0,0,1]
print int("".join(map(str, data)), 2)

<强>输出

9