it-swarm.it

Converti tutte le stringhe in una lista in int

In Python, voglio convertire tutte le stringhe in una lista in numeri interi.

Quindi se ho:

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

Come faccio a farlo:

results = [1, 2, 3]
478
Michael

Usa map function (in Python 2.x):

results = map(int, results)

In Python 3, dovrai convertire il risultato da map in una lista:

results = list(map(int, results))
960
cheeken

Usa una list list :

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

per esempio.

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

Un po 'più espanso della comprensione delle liste ma ugualmente 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)

per esempio.

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

Anche:

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

Ci sono diversi modi per farlo:

1) Uso della mappa:

def toInt(string):
    return int(string)


equation = ["10", "11", "12"]
equation = map(toInt, equation)
for i in equation:
    print(type(i), i)

2) Farlo senza l'uso di map ()

equation = ["10", "11", "12"]
new_list = []
for i in equation:
    new_list.append(int(i))

equation = new_list
print(equation)

C'è un sacco di modi per farlo ..

1
NewbieProgrammer