Codewars note:二进制转十进制
Exercise:
给定一个由 1 和 0 组成的数组,将等效的二进制值转换为整数。
例如:[0, 0, 0, 1]
被视为是0001
的二进制==>1
。
例子:
Testing: [0, 0, 0, 1] ==> 1
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 0, 1] ==> 5
Testing: [1, 0, 0, 1] ==> 9
Testing: [0, 0, 1, 0] ==> 2
Testing: [0, 1, 1, 0] ==> 6
Testing: [1, 1, 1, 1] ==> 15
Testing: [1, 0, 1, 1] ==> 11
但是,数组可以有不同的长度,不仅限于4
.
Solution:
1.
def binary_array_to_number(arr): return int(''.join([str(i) for i in arr]),2)
2.
def binary_array_to_number(arr): return int("".join(map(str, arr)), 2)