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))
OutputThe 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))
OutputThe 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
OutputThe 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))
OutputThe 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.
OutputThe 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))
OutputGFG
The original list: [['24'], ['45'], ['78'], ['40']]
The list after conversion: [[2, 4], [4, 5], [7, 8], [4, 0]]
Similar Reads
Python - Convert List of Integers to a List of Strings
We are given a list of integers and our task is to convert each integer into its string representation. For example, if we have a list like [1, 2, 3] then the output should be ['1', '2', '3']. In Python, there are multiple ways to do this efficiently, some of them are: using functions like map(), re
3 min read
Python | Convert numeric String to integers in mixed List
Sometimes, while working with data, we can have a problem in which we receive mixed data and need to convert the integer elements in form of strings to integers. This kind of operation might be required in data preprocessing step. Let's discuss certain ways in which this task can be performed. Metho
11 min read
Python - Convert Number to List of Integers
We need to split a number into its individual digits and represent them as a list of integers. For instance, the number 12345 can be converted to the list [1, 2, 3, 4, 5]. Let's discuss several methods to achieve this conversion.Using map() and str() Combination of str() and map() is a straightforwa
3 min read
Convert List of String into Sorted List of Integer - Python
We are given a list of string a = ['3', '1', '4', '1', '5'] we need to convert all the given string data inside the list into int and sort them into ascending order so the output list becomes a = [1, 1, 3, 4, 5]. This can be achieved by first converting each string to an integer and then sorting the
3 min read
Convert list of strings to list of tuples in Python
Sometimes we deal with different types of data types and we require to inter-convert from one data type to another hence interconversion is always a useful tool to have knowledge. This article deals with the converse case. Let's discuss certain ways in which this can be done in Python. Method 1: Con
5 min read
Convert List of Tuples to List of Strings - Python
The task is to convert a list of tuples where each tuple contains individual characters, into a list of strings by concatenating the characters in each tuple. This involves taking each tuple, joining its elements into a single string, and creating a new list containing these strings.For example, giv
3 min read
Python | Convert List of String List to String List
Sometimes while working in Python, we can have problems of the interconversion of data. This article talks about the conversion of list of List Strings to joined string list. Let's discuss certain ways in which this task can be performed. Method #1 : Using map() + generator expression + join() + isd
6 min read
Python - Convert Integer Matrix to String Matrix
Given a matrix with integer values, convert each element to String. Input : test_list = [[4, 5, 7], [10, 8, 3], [19, 4, 6]] Output : [['4', '5', '7'], ['10', '8', '3'], ['19', '4', '6']] Explanation : All elements of Matrix converted to Strings. Input : test_list = [[4, 5, 7], [10, 8, 3]] Output : [
6 min read
Python | Convert string enclosed list to list
Given a list enclosed within a string (or quotes), write a Python program to convert the given string to list type. Examples: Input : "[0, 2, 9, 4, 8]" Output : [0, 2, 9, 4, 8] Input : "['x', 'y', 'z']" Output : ['x', 'y', 'z'] Approach #1: Python eval() The eval() method parses the expression passe
5 min read
Python program to convert a byte string to a list of integers
We have to convert a byte string to a list of integers extracts the byte values (ASCII codes) from the byte string and stores them as integers in a list. For Example, we are having a byte string s=b"Hello" we need to write a program to convert this string to list of integers so the output should be
2 min read