Convierta todas las cadenas de una lista a números enteros [duplicado]
¿Cómo convierto todas las cadenas de una lista a números enteros?
['1', '2', '3'] ⟶ [1, 2, 3]
Dado:
xs = ['1', '2', '3']
Utilice map
luego list
para obtener una lista de números enteros:
list(map(int, xs))
En Python 2, list
era innecesario ya que map
devolvía una lista:
map(int, xs)
Utilice una lista de comprensión en la lista xs
:
[int(x) for x in xs]
p.ej
>>> xs = ["1", "2", "3"]
>>> [int(x) for x in xs]
[1, 2, 3]
Existen varios métodos para convertir números de cadena en una lista a números enteros.
En Python 2.x puedes usar la función de mapa :
>>> results = ['1', '2', '3']
>>> results = map(int, results)
>>> results
[1, 2, 3]
Aquí, devuelve la lista de elementos después de aplicar la función.
En Python 3.x puedes usar el mismo mapa.
>>> results = ['1', '2', '3']
>>> results = list(map(int, results))
>>> results
[1, 2, 3]
A diferencia de Python 2.x, aquí la función de mapa devolverá el objeto de mapa, es decir, iterator
que producirá el resultado (valores) uno por uno, por lo que además necesitamos agregar una función denominada que list
se aplicará a todos los elementos iterables.
Consulte la imagen a continuación para conocer el valor de retorno de la map
función y su tipo en el caso de Python 3.x.
El tercer método que es común tanto para Python 2.x como para Python 3.x, es decir, listas por comprensión.
>>> results = ['1', '2', '3']
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
Puede convertir fácilmente elementos de la lista de cadenas en elementos int usando la taquigrafía de bucle en Python
Di que tienes una cuerdaresult = ['1','2','3']
Solo haz,
result = [int(item) for item in result]
print(result)
Te dará resultados como
[1,2,3]