Converti tutte le stringhe in un elenco in int


Risposte:


1171

Usa la mapfunzione (in Python 2.x):

results = map(int, results)

In Python 3, dovrai convertire il risultato da mapin un elenco:

results = list(map(int, results))

23
Voglio sottolineare che il pylint scoraggia l'uso di map, quindi preparatevi ad usare le comprensioni dell'elenco se usate mai quello standard. :)
ThorSummoner,

6
L'inverso è (per convertire un elenco di int in un elenco di stringhe): mappa (str, risultati)
Ali ISSA

12
Puoi semplificare questa risposta: basta usare sempre list(map(int, results)), funziona per qualsiasi versione di Python.
MVP


3

Un po 'più espanso della comprensione dell'elenco ma anche 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.