Вопрос-Ответ

Convert all strings in a list to integers [duplicate]

Преобразование всех строк в списке в целые числа

Как мне преобразовать все строки в списке в целые числа?

['1', '2', '3']  ⟶  [1, 2, 3]
Переведено автоматически
Ответ 1

Дано:

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

Используйте map then list для получения списка целых чисел:

list(map(int, xs))

В Python 2 list было ненужным, поскольку map возвращал список:

map(int, xs)
Ответ 2

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

[int(x) for x in xs]

например

>>> xs = ["1", "2", "3"]
>>> [int(x) for x in xs]
[1, 2, 3]
Ответ 3

Существует несколько методов преобразования номеров строк в списке в целые числа.

В Python 2.x вы можете использовать функцию map:

>>> results = ['1', '2', '3']
>>> results = map(int, results)
>>> results
[1, 2, 3]

Здесь он возвращает список элементов после применения функции.

В Python 3.x вы можете использовать ту же карту

>>> results = ['1', '2', '3']
>>> results = list(map(int, results))
>>> results
[1, 2, 3]

В отличие от python 2.x, здесь функция map вернет объект map, т.е. iterator Который будет выдавать результат (значения) одно за другим, поэтому в дальнейшем нам нужно добавить функцию с именем как list которая будет применяться ко всем итеративным элементам.

Возвращаемое значение map функции и ее тип в случае python 3.x приведены на изображении ниже

сопоставьте объект итератора функции и его тип

Третий метод, который является общим как для python 2.x, так и для python 3.x, т.е. Понимание списков

>>> results = ['1', '2', '3']
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
Ответ 4

Вы можете легко преобразовать элементы списка строк в элементы int, используя сокращение цикла в python

Допустим, у вас есть строка result = ['1','2','3']

Просто сделайте,

result = [int(item) for item in result]
print(result)

Это даст вам результат в виде

[1,2,3]
python list