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