Python — Get the sum of numbers in a list of strings



Method # 1: Using loop + int()
This is a brute force method to accomplish this task. In this, we start a loop for the entire list, convert each line to an integer, and do the summation over the list and store in a separate list.

# Python3 code to demonstrate how it works
# Summing lists of string integers
# using loop + int ()

 
# initialize the list

test_list = [[[ ` 1` , `4` ], [ `5` , ` 6` ], [ `7` , `10` ]]

  
# print original list

print ( " The original list: " + str (test_list) )

 
# Summing lists of string integers
# 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)

 
# print 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] 

  Method # 2: Using sum () + int () + comprehension list
This is shorthand to accomplish this task. In this we loop through the lists using comprehension and extract the sum using sum ().

# Python3 code to demonstrate how it works
# Summing lists of string integers
# using sum () + int () + list comprehension

 
# initialize the list

test_list = [[[ ` 1` , `4` ], [ `5` , ` 6` ], [ `7` , ` 10` ]]

  
# print original list

print ( "The original list:" + str (test_list))

 
# Summing lists of string integers
# using sum () + int () + list comprehension

res = [ sum ( int (ele) for ele in sub) for sub  in test_list]

 
# print 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]