Convertir toutes les chaînes de caractères d'une liste en int.

En Python, je veux convertir toutes les chaînes de caractères d'une liste en nombres entiers.

Donc si j'ai :

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

Comment je le fais :

results = [1, 2, 3]
Solution

Utilisez la fonction map (dans Python 2.x) :

results = map(int, results)

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

results = list(map(int, results))
Commentaires (3)

Utilisez une [liste de compréhension] (https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions) :

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

par exemple

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

Un peu plus étendu que la compréhension des listes, mais tout aussi 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
Commentaires (0)