El problema que se discute en este artículo es bastante común y todos los programadores lo habrían encontrado. La conversión de la lista de números binarios a su valor entero se puede hacer usando atajos y el conocimiento de ellos puede resultar bastante útil. Vamos a discutir ciertas formas en que esto se puede hacer.
Método #1: Uso join()
de la comprensión de listas +
La combinación de estas dos funciones puede ayudar a lograr esta tarea en particular. En este método, la lista completa se convierte primero en string y luego se escribe la conversión en int y luego se obtiene el número binario.
# 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))
Producción :
The original list is : [1, 0, 0, 1, 1, 0] The converted integer value is : 38
Método n.º 2: Uso de desplazamiento de bits +| operator
Esta tarea en particular se puede realizar desplazando los bits y tomando el | con cada uno de los bits siendo procesados. Esta es otra forma elegante en la que esto se puede realizar.
# 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))
Producción :
The original list is : [1, 0, 0, 1, 1, 0] The converted integer value is : 38
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA