Konvertera alla strängar i en lista till int

I Python vill jag konvertera alla strängar i en lista till heltal.

Så om jag har:

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

Hur gör jag det:

results = [1, 2, 3]
Lösning

Använd funktionen map (i Python 2.x):

results = map(int, results)

I Python 3 måste du konvertera resultatet från map till en lista:

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

Använd en [listförståelse] (https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions):

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

t.ex.

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

Lite mer omfattande än listförståelse, men likväl användbar:

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)

t.ex.

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

Dessutom:

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