converting list of string to list of integer [dupl

2019-02-12 08:24发布

问题:

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]

回答1:

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.



回答2:

One way is to use list comprehensions:

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


回答3:

this works:

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


回答4:

You can try:

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


回答5:

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 


回答6:

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

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


回答7:

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]