Open In App

Python – Get summation of numbers in string list

Last Updated : 17 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Sometimes, while working with data, we can have a problem in which we receive series of lists with data in string format, which we wish to accumulate as list. Let’s discuss certain ways in which this task can be performed. 

Method #1 : Using loop + int() This is the brute force method to perform this task. In this, we run a loop for entire list, convert each string to integer and perform summation listwise and store in a separate list. 

Python3




# Python3 code to demonstrate working of
# Summation of String Integer lists
# using loop + int()
 
# initialize list
test_list = [['1', '4'], ['5', '6'], ['7', '10']]
 
# printing original list
print("The original list : " + str(test_list))
 
# Summation of String Integer lists
# using loop + int()
res = []
for sub in test_list:
    par_sum = 0
    for ele in sub:
        par_sum = par_sum + int(ele)
    res.append(par_sum)
 
# printing result
print("List after summation of nested string lists : " + str(res))


Output : 

The original list : [['1', '4'], ['5', '6'], ['7', '10']]
List after summation of nested string lists : [5, 11, 17]

Time Complexity: O(n*n), where n is the length of the input list. This is because we’re using loop + int() which has a time complexity of O(n*n) in the worst case.
Auxiliary Space: O(n), as we’re using additional space res other than the input list itself with the same size of input list.

  Method #2 : Using sum() + int() + list comprehension This is the shorthand with the help of which this task can be performed. In this, we run a loop on lists using list comprehension and extract summation using sum(). 

Python3




# Python3 code to demonstrate working of
# Summation of String Integer lists
# using sum() + int() + list comprehension
 
# initialize list
test_list = [['1', '4'], ['5', '6'], ['7', '10']]
 
# printing original list
print("The original list : " + str(test_list))
 
# Summation of String Integer lists
# using sum() + int() + list comprehension
res = [sum(int(ele) for ele in sub) for sub in test_list]
 
# printing result
print("List after summation of nested string lists : " + str(res))


Output : 

The original list : [['1', '4'], ['5', '6'], ['7', '10']]
List after summation of nested string lists : [5, 11, 17]

Time Complexity: O(n*n), where n is the length of the list test_list 
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res list 

Method #3 : Using map() and lambda function

Python3




#Python3 code to demonstrate working of
#Summation of String Integer lists
#using map() and lambda function
#initialize list
test_list = [['1', '4'], ['5', '6'], ['7', '10']]
 
#printing original list
print("The original list : " + str(test_list))
 
#Summation of String Integer lists
#using map() and lambda function
res = list(map(lambda sub: sum(map(int, sub)), test_list))
 
#printing result
print("List after summation of nested string lists : " + str(res))
#this code is contributed by edula vinay kumar reddy


Output

The original list : [['1', '4'], ['5', '6'], ['7', '10']]
List after summation of nested string lists : [5, 11, 17]

Time Complexity: O(n)
Auxiliary Space: O(n)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads