Convertir toutes les chaînes d'une liste en int


Réponses:


1171

Utilisez la mapfonction (en Python 2.x):

results = map(int, results)

En Python 3, vous devrez convertir le résultat de mapen une liste:

results = list(map(int, results))

23
Je tiens à souligner que Pylint décourage l'utilisation de map, alors préparez-vous à utiliser les listes de compréhension de toute façon si vous utilisez cette norme. :)
ThorSummoner

6
L'inverse est (pour convertir une liste d'int en liste de chaînes): carte (str, résultats)
Ali ISSA

12
Vous pouvez simplifier cette réponse: utilisez toujours list(map(int, results)), cela fonctionne pour n'importe quelle version de Python.
mvp


3

Un peu plus étendu que la compréhension de liste mais également utile:

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)

par exemple

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

Aussi:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.