## Convert all strings in a list to int

### Question

In Python, I want to convert all strings in a list to integers.

So if I have:

``````results = ['1', '2', '3']
``````

How do I make it:

``````results = [1, 2, 3]
``````
2018/10/08
1
622
10/8/2018 3:43:49 PM

Use the `map` function (in Python 2.x):

``````results = map(int, results)
``````

In Python 3, you will need to convert the result from `map` to a list:

``````results = list(map(int, results))
``````
2018/10/08
1202
10/8/2018 3:45:26 PM

A little bit more expanded than list comprehension but likewise useful:

``````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)
``````

e.g.

``````>>> results = ["1", "2", "3"]
>>> str_list_to_int_list(results)
[1, 2, 3]
``````

Also:

``````def str_list_to_int_list(str_list):
int_list = [int(n) for n in str_list]
return int_list
``````
2019/02/14

Here is a simple solution with explanation for your query.

`````` a=['1','2','3','4','5'] #The integer represented as a string in this list
b=[] #Fresh list
for i in a: #Declaring variable (i) as an item in the list (a).
b.append(int(i)) #Look below for explanation
print(b)
``````

Here, append() is used to add items ( i.e integer version of string (i) in this program ) to the end of the list (b).

Note: int() is a function that helps to convert an integer in the form of string, back to its integer form.

Output console:

``````[1, 2, 3, 4, 5]
``````

So, we can convert the string items in the list to an integer only if the given string is entirely composed of numbers or else an error will be generated.

2020/07/03