Преобразуйте все строки в списке в int - PullRequest
501 голосов
/ 10 сентября 2011

В Python я хочу преобразовать все строки в списке в целые числа.

Итак, если у меня есть:

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

Как мне это сделать:

results = [1, 2, 3]

Ответы [ 3 ]

999 голосов
/ 10 сентября 2011

Используйте функцию map (в Python 2.x):

results = map(int, results)

В Python 3 вам потребуется преобразовать результат из map к списку:

results = list(map(int, results))
326 голосов
/ 10 сентября 2011

Используйте список понимания :

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

например

>>> results = ["1", "2", "3"]
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
1 голос
/ 04 января 2019

Немного более расширенный, чем понимание списка, но также полезный:

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)

, например

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

Также:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...