📜  Python|二进制列表到整数

📅  最后修改于: 2022-05-13 01:55:05.942000             🧑  作者: Mango

Python|二进制列表到整数

本文讨论的问题很常见,每个程序员都会遇到。可以使用速记将二进制数列表转换为其整数值,并且对它们的了解可以证明是非常有用的。让我们讨论一些可以做到这一点的方法。

方法 #1:使用join() + 列表推导
这两个函数的结合可以帮助实现这一特定任务。在这种方法中,首先将整个列表转换为字符串,然后类型转换为int,然后得到二进制数。

# Python3 code to demonstrate 
# converting binary list to integer 
# using join() + list comprehension
  
# initializing list 
test_list = [1, 0, 0, 1, 1, 0]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using join() + list comprehension
# converting binary list to integer 
res = int("".join(str(x) for x in test_list), 2)
  
# printing result 
print ("The converted integer value is : " +  str(res))

输出 :

The original list is : [1, 0, 0, 1, 1, 0]
The converted integer value is : 38

方法 #2:使用位移 + | operator
这个特定的任务可以通过移位位并取 |处理每个位。这是可以执行此操作的另一种优雅方式。

# Python3 code to demonstrate 
# converting binary list to integer 
# using bit shift + | operator
  
# initializing list 
test_list = [1, 0, 0, 1, 1, 0]
  
# printing original list
print ("The original list is : " + str(test_list))
  
# using bit shift + | operator
# converting binary list to integer 
res = 0
for ele in test_list:
    res = (res << 1) | ele
  
# printing result 
print ("The converted integer value is : " +  str(res))

输出 :

The original list is : [1, 0, 0, 1, 1, 0]
The converted integer value is : 38