我们可以使用各种方法在python中将代表二进制数的0和1列表转换为十进制数。在以下示例中,我们使用该int()
方法以及按位左移运算符。
int()
的INT()方法需要两个参数,并且改变输入的基部按下面的语法。
int(x, base=10) Return an integer object constructed from a number or string x.
在下面的示例中,我们使用该int()
方法将列表中的每个元素作为字符串,并将它们连接起来以形成最终字符串,该字符串将以10为底转换为整数。
List = [0, 1, 0, 1, 0, 1] print ("The List is : " + str(List)) # binary list to integer conversion result = int("".join(str(i) for i in List),2) # result print ("The value is : " + str(result))
运行上面的代码给我们以下结果-
The List is : [1, 1, 0, 1, 0, 1] The value is : 53
按位左移运算符在将二进制数加零后将给定的数字列表转换为整数。然后按位或用于添加该结果。我们使用for循环遍历列表中的每个数字。
List = [1, 0, 0, 1, 1, 0] print ("The values in list is : " + str(List)) # binary list to integer conversion result = 0 for digits in List: result = (result << 1) | digits # result print ("The value is : " + str(result))
运行上面的代码给我们以下结果-
The values in list is : [1, 0, 0, 1, 1, 0] The value is : 38