2011-09-10 16 views
343

Duplicar posible:
How to convert strings into integers in python?
How to convert a string list into an integer in pythonConvertir todas las cadenas en una lista a int

en Python, quiero convertir todas las cadenas en una lista de enteros.

Así que si tengo:

results = ['1', '2', '3'] 

¿Cómo hacerlo:

results = [1, 2, 3] 
+0

ver esto: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

+0

sentimos que debería haber sido no una respuesta un comentario. Ver esta respuesta: http://stackoverflow.com/questions/642154/how-to-convert-strings-into-integers-in-python –

Respuesta

720

Utilice la función de mapa (en el Año 2):

results = map(int, results) 

En el AP3:

results = list(map(int, results)) 
+9

Quiero señalar que la pildora desalienta el uso de 'map', así que prepárate para use listas de comprensión de todos modos si alguna vez usa ese estándar. :) – ThorSummoner

+1

Lo inverso es (para convertir una lista de int a la lista de cadenas): map (str, results) –

+0

Puede simplificar esta respuesta: simplemente use 'list (map (int, results))', funciona para cualquier versión de Python – mvp

217

utilizar una lista de comprensión:

results = [int(i) for i in results] 

por ejemplo,

>>> results = ["1", "2", "3"] 
>>> results = [int(i) for i in results] 
>>> results 
[1, 2, 3] 
+22

La comprensión de la lista también es excelente. Al OP: mira aquí para ver un buen contraste de mapa y comprensión de listas: http://stackoverflow.com/questions/1247486/python-list-comprehension-vs-map – cheeken