Преобразуйте все строки в списке в int


Ответы:


1171

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

results = map(int, results)

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

results = list(map(int, results))

23
Я хочу отметить, что Pylint препятствует использованию map, так что будьте готовы использовать списки в любом случае, если вы когда-либо будете использовать этот стандарт. :)
ThorSummoner

6
Обратное (для преобразования списка int в список строк): map (str, results)
Ali ISSA

12
Вы можете упростить этот ответ: просто всегда используйте list(map(int, results)), он работает для любой версии Python.
MVP


3

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

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.