This question already has an answer here:
-
Convert all strings in a list to int
3 answers
How do I convert a space separated integer input into a list of integers?
Example input:
list1 = list(input("Enter the unfriendly numbers: "))
Example conversion:
['1', '2', '3', '4', '5'] to [1, 2, 3, 4, 5]
map()
is your friend, it applies the function given as first argument to all items in the list.
map(int, yourlist)
since it maps every iterable, you can even do:
map(int, input("Enter the unfriendly numbers: "))
which (in python3.x) returns a map object, which can be converted to a list.
I assume you are on python3, since you used input
, not raw_input
.
One way is to use list comprehensions:
intlist = [int(x) for x in stringlist]
this works:
nums = [int(x) for x in intstringlist]
Say there is a list of strings named list_of_strings and output is list of integers named list_of_int. map function is a builtin python function which can be used for this operation.
'''Python 2.7'''
list_of_strings = ['11','12','13']
list_of_int = map(int,list_of_strings)
print list_of_int
l=['1','2','3','4','5']
for i in range(0,len(l)):
l[i]=int(l[i])
Just curious about the way you got '1', '2', '3', '4' instead of 1, 2, 3, 4. Anyway.
>>> 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']
Alright, some code
>>> list1 = input("Enter the unfriendly numbers: ")
Enter the unfriendly numbers: map(int, ['1', '2', '3', '4'])
>>> list1
[1, 2, 3, 4]