Python 中的二进制列表转换为整数


我们可以使用多种方法将表示二进制数的 0 和 1 列表转换为 Python 中的十进制数。在下面的示例中,我们使用了 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

更新于: 2019-12-19

2K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.