Python 中的二进制列表转换为整数
pythonserver side programmingprogramming
我们可以使用各种方法将表示二进制数的 0 和 1 列表转换为 Python 中的十进制数。在下面的示例中,我们使用 int() 方法以及按位左移运算符。
使用 int()
int() 方法接受两个参数并根据以下语法更改输入的基数。
int(x, base=10) 返回由数字或字符串 x 构造的整数对象。
在下面的例子中,我们使用 int() 方法将列表中的每个元素作为字符串,并将它们连接起来形成最终字符串,该字符串将转换为以 10 为基数的整数。
示例
List = [0, 1, 0, 1, 0, 1] print ("The List is : " + str(List)) # 二进制列表到整数的转换 result = int("".join(str(i) for i in List),2) #结果 print ("The value is : " + str(result))
运行上述代码得到以下结果 −
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)) # 二进制列表到整数的转换 result = 0 for digits in List: result = (result << 1) | digits # 结果 print ("The value is : " + str(result))
运行上述代码得到以下结果 −
The values in list is : [1, 0, 0, 1, 1, 0] The value is : 38