A veces, podemos quedar atrapados en un problema en el que se nos da un flujo de números separados por espacios con el objetivo de convertirlos en una lista de números. Este tipo de problema puede ocurrir en la programación día a día común o en la programación competitiva mientras se toman entradas. Analicemos ciertas formas en que se puede resolver este problema.
Método n. ° 1: usarlist() + split()
Los números separados por espacios se pueden convertir en una lista usando una split
función simple que convertiría la string en una lista de números y, por lo tanto, resolvería nuestro problema.
# Python3 code to demonstrate working of # Convert Stream of numbers to list # Using list() + split() # initializing string test_str = "10 12 3 54 6 777 443" # printing original string print("The original string is : " + test_str) # Using list() + split() # Convert Stream of numbers to list res = list(test_str.split()) # printing result print("The list of stream of numbers : " + str(res))
The original string is : 10 12 3 54 6 777 443 The list of stream of numbers : ['10', '12', '3', '54', '6', '777', '443']
Método n.º 2: Usomap() + split() + list()
Dado que el inconveniente del método anterior es que la conversión no cambia el tipo de datos de los números de unidad, por lo que si también se desea cambiar el tipo de datos del número, se sugiere usar adicionalmente map()
para tener una lista de strings como enteros.
# Python3 code to demonstrate working of # Convert Stream of numbers to list # Using map() + split() + list() # initializing string test_str = "10 12 3 54 6 777 443" # printing original string print("The original string is : " + test_str) # Using map() + split() + list() # Convert Stream of numbers to list res = list(map(int, test_str.split())) # printing result print("The list of stream of numbers : " + str(res))
The original string is : 10 12 3 54 6 777 443 The list of stream of numbers : [10, 12, 3, 54, 6, 777, 443]
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