Convertir todas las cadenas en una lista a int

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

Así que si tengo:

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

¿Cómo lo hago?

 results = [1, 2, 3] 

Utilice la función de map (en Python 2.x):

 results = map(int, results) 

En Python 3, deberá convertir el resultado del map a una lista:

 results = list(map(int, results)) 

Use una lista de comprensión :

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

p.ej

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

Un poco más expandido que la lista de comprensión, pero igualmente útil:

 def str_list_to_int_list(str_list): n = 0 while n < len(str_list): str_list[n] = int(str_list[n]) n += 1 return(str_list) 

p.ej

 >>> results = ["1", "2", "3"] >>> str_list_to_int_list(results) [1, 2, 3] 

También:

 def str_list_to_int_list(str_list): int_list = [int(n) for n in str_list] return int_list