# Python | Convert list of numerical string to list of Integers

Last Updated : 26 May, 2023

Many times, the data we handle might not be in the desired form for any application and has to go through the stage of preprocessing. One such kind of form can be a number in the form of a string that too is a list in the list and we need to segregate it into digit-separated integers. Let’s discuss certain ways in Python in which this problem can be solved.

### Convert list of numerical string to list of Integers using list comprehension

This problem can be dealt with list comprehension, as a shorthand for generic loops that we would require to run to perform this particular task by iterating each list’s each character of the string and converting to an integer.

## Python3

 `# initializing list` `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]`   `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))`   `# using list comprehension` `# converting string list to integer list` `res ``=` `[[``int``(i) ``for` `i ``in` `sub] ``for` `i ``in` `test_list ``for` `sub ``in` `i]`   `# print result` `print``(``"The list after conversion : "` `+` `str``(res))`

Output

```The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]```

### Convert list of numerical string to list of Integers using map() + list comprehension

The task performed in the above function can also be reduced to include the map function which binds the conversion to an integer to a function and the rest of the task is performed by the list comprehension function itself.

## Python3

 `# Python3 code to demonstrate` `# converting string list to integer list` `# using list comprehension + map()`   `# initializing list` `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]`   `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))`   `# using list comprehension + map()` `# converting string list to integer list` `res ``=` `[``list``(``map``(``int``, ``list``(sub[``0``]))) ``for` `sub ``in` `test_list ``if` `sub]`   `# print result` `print``(``"The list after conversion : "` `+` `str``(res))`

Output

```The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]```

### Convert list of numerical string to list of Integers using lambda expression

The list comprehension inside the lambda function iterates through each character of the string and converts it to an integer. This lambda function is then applied to each sublist in the list using the map() function.

## Python3

 `# Python3 code to demonstrate` `# converting string list to integer list` ` `  `# initializing list` `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]` `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))` `# apply the lambda function to each element in test_list` `res ``=` `list``(``map``(``lambda` `x: [``int``(i) ``for` `i ``in` `x[``0``]], test_list))` `# print result` `print``(``"The list after conversion : "` `+` `str``(res))` `#This code is contributed by Edula Vinay Kumar Reddy`

Output

```The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]```

### Convert list of numerical string to list of Integers using the reduce() function

Initialize an empty list to store the final result. Traverse through each sublist of the given list. For each sublist, apply the reduce() function to concatenate all the strings in that sublist. Convert the concatenated string to an integer list by iterating over each character of the string and converting it to an integer. Append the integer list to the result list. Return the final result list.

## Python3

 `# import the reduce() function from the functools module` `from` `functools ``import` `reduce` `# initializing list`   `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]`   `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))`   `# using the reduce() function to concatenate each string ` `#in the nested list, and then converting each concatenated` `#string to an integer` `res ``=` `[[``int``(ch) ``for` `ch ``in` `reduce``(``lambda` `x, y: x``+``y, ` `                                 ``ele)] ``for` `ele ``in` `test_list]` `# print result` `print``(``"The list after conversion : "` `+` `str``(res))`

Output

```The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 5], [7, 8], [4, 0]]```

### Convert list of numerical string to list of Integers using Heapq method

Import the heapq module. Initialize a nested list with strings as elements. Use the heapq.merge() function to concatenate the nested lists into a single list of strings, and store the result in merged_list. Use a list comprehension to convert each string in merged_list to a list of integers and store the result in res. Print the original list and the modified list.

## Python3

 `import` `heapq`   `# initializing list` `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]` `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))`   `# using heapq.merge() to concatenate the nested lists` `merged_list ``=` `list``(heapq.merge(``*``test_list))`   `# converting the concatenated strings to integers` `res ``=` `[[``int``(ch) ``for` `ch ``in` `str``(ele)] ``for` `ele ``in` `merged_list]`   `# print result` `print``(``"The list after conversion : "` `+` `str``(res))` `#This code is contributed by Rayudu.`

Output

```The original list : [['24'], ['45'], ['78'], ['40']]
The list after conversion : [[2, 4], [4, 0], [4, 5], [7, 8]]```

### Convert a list of numerical strings to list of Integers using nested loops

Initialize an empty list to store the final result. Traverse through each sublist of the given list. For each sublist, initialize an empty list to store the integer representation of the string characters. Iterate each character in the string and convert it to an integer using the int() function. Append the integer to the inner list. Append the inner list to the result list. Return the final result list.

## Python3

 `print``(``"GFG"``)` `# initializing list` `test_list ``=` `[[``'24'``], [``'45'``], [``'78'``], [``'40'``]]` `# printing original list` `print``(``"The original list: "` `+` `str``(test_list))`   `# convert string list to integer list` `res ``=` `[]` `for` `sublist ``in` `test_list:` `    ``inner_list ``=` `[]` `    ``for` `string ``in` `sublist:` `        ``int_list ``=` `[``int``(char) ``for` `char ``in` `string]` `        ``inner_list.extend(int_list)` `    ``res.append(inner_list)`   `# print result` `print``(``"The list after conversion: "` `+` `str``(res))`

Output

```GFG
The original list: [['24'], ['45'], ['78'], ['40']]
The list after conversion: [[2, 4], [4, 5], [7, 8], [4, 0]]```

Previous
Next