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

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

Пример ввода:

list1 = list(input("Enter the unfriendly numbers: "))

Пример преобразования:

['1', '2', '3', '4', '5']  to  [1, 2, 3, 4, 5]

Ответ 1

map() - ваш друг, он применяет функцию, указанную как первый аргумент ко всем элементам в списке.

map(int, yourlist) 

так как он отображает все итерации, вы можете даже сделать:

map(int, input("Enter the unfriendly numbers: "))

который (в python3.x) возвращает объект карты, который может быть преобразован в список. Я предполагаю, что вы находитесь на python3, так как вы использовали input, а не raw_input.

Ответ 2

Один из способов - использовать списки:

intlist = [int(x) for x in stringlist]

Ответ 3

это работает:

nums = [int(x) for x in intstringlist]

Ответ 4

Вы можете попробовать:

x = [int(n) for n in x]

Ответ 5

Скажем, есть список строк с именем list_of_strings, а output - список целых чисел с именем list_of_int. map function - встроенная функция python, которая может использоваться для этой операции.

'''Python 2.7'''
list_of_strings = ['11','12','13']
list_of_int = map(int,list_of_strings)
print list_of_int 

Ответ 6

 l=['1','2','3','4','5']

for i in range(0,len(l)):
    l[i]=int(l[i])

Ответ 7

Просто любопытно, как вы получили "1", "2", "3", "4" вместо 1, 2, 3, 4. В любом случае.

>>> list1 = list(input("Enter the unfriendly numbers: "))
Enter the unfriendly numbers: 1, 2, 3, 4
>>> list1 = list(input("Enter the unfriendly numbers: "))
Enter the unfriendly numbers: [1, 2, 3, 4]
>>> list1
[1, 2, 3, 4]
>>> list1 = list(input("Enter the unfriendly numbers: "))
Enter the unfriendly numbers: '1234'
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: '1', '2', '3', '4'
>>> list1
['1', '2', '3', '4']

Хорошо, код

>>> list1 = input("Enter the unfriendly numbers: ")
Enter the unfriendly numbers: map(int, ['1', '2', '3', '4'])
>>> list1
[1, 2, 3, 4]