Konwertuj wszystkie ciągi z listy na int


Odpowiedzi:


1171

Użyj mapfunkcji (w Python 2.x):

results = map(int, results)

W Pythonie 3 musisz przekonwertować wynik z maplisty:

results = list(map(int, results))

23
Chcę zauważyć, że pylint odradza korzystanie z niego map, więc przygotuj się do użycia list ze zrozumieniem, jeśli kiedykolwiek użyjesz tego standardu. :)
ThorSummoner,

6
Odwrotnością jest (aby przekonwertować listę liczb całkowitych na listę ciągów znaków): mapa (str, wyniki)
Ali ISSA

12
Możesz uprościć tę odpowiedź: po prostu zawsze używaj list(map(int, results)), działa dla dowolnej wersji Pythona.
mvp


3

Nieco bardziej rozbudowany niż lista, ale również przydatny:

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)

na przykład

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

Również:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.