Python | Convertir lista de string numérica a lista de enteros

Muchas veces, los datos que manejamos pueden no estar en la forma deseada para ninguna aplicación y deben pasar por la etapa de preprocesamiento. Uno de esos tipos de formularios puede ser un número en forma de string que también es una lista en una lista y debemos segregarlo para que sean números enteros separados por dígitos. Analicemos ciertas formas en que se puede resolver este problema.

Método #1: Usar la comprensión de listas
Este problema se puede tratar con la comprensión de listas, como una forma abreviada de bucles genéricos que necesitaríamos ejecutar para realizar esta tarea en particular al iterar cada carácter de string de cada lista y convertirlos a números enteros.

# Python3 code to demonstrate
# converting string list to integer list
# using list comprehension
  
# initializing list
test_list = [['24'], ['45'], ['78'], ['40']]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension
# converting string list to integer list
res = [[int(i) for i in sub] for i in test_list for sub in i]
  
# print result
print("The list after conversion : " + str(res))
Producción :

The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]

Método n.º 2: usar map()+ comprensión de lista
La tarea realizada en la función anterior también se puede reducir para incluir la función de mapa que vincula la conversión a entero a una función y el resto de la tarea se realiza mediante la función de comprensión de lista.

# Python3 code to demonstrate
# converting string list to integer list
# using list comprehension + map()
  
# initializing list
test_list = [['24'], ['45'], ['78'], ['40']]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + map()
# converting string list to integer list
res = [list(map(int, list(sub[0]))) for sub in test_list if sub ]
  
# print result
print("The list after conversion : " + str(res))
Producción :

The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *