Convierta todas las cadenas en una lista a int


Respuestas:


1171

Use la mapfunción (en Python 2.x):

results = map(int, results)

En Python 3, deberá convertir el resultado de mapa una lista:

results = list(map(int, results))

23
Quiero señalar que pylint desalienta el uso de map, así que prepárate para usar las comprensiones de listas de todos modos si alguna vez usas ese estándar. :)
ThorSummoner

66
El inverso es (para convertir una lista de int en una lista de cadenas): map (str, results)
Ali ISSA

12
Puede simplificar esta respuesta: solo use siempre list(map(int, results)), funciona para cualquier versión de Python.
mvp


3

Un poco más extendido que la comprensión de la lista, 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.