如何将0和1的列表转换为基数为10的二进制数?
例如:([0,0,1,0,0,1])
会给我9
答案 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