 # Python | Summation of nonzero groups

Method # 1: Using Loops

This task can be accomplished using the brute force method using loops. We simply loop through each element of the list to check that its subsequent element has a non-zero value, and perform the summation as soon as we find the next value equal to zero, and add it to the list of results.

 ` # Python3 demo code ` ` # sum non-zero groups ` ` # Using loops `   ` # initializing list ` ` test_list ` ` = ` ` [` ` 4 ` `, ` ` 9 ` `, ` ` 0 ` `, ` ` 0 ` `, ` ` 3 ` , ` 4 ` `, ` ` 5 ` `, ` ` 0 ` `, ` ` 0 ` `, ` ` 4 ` `, ` ` 0 ` `] `   ` # printing the original list ` ` print ` ` (` ` "The original list: "` ` + ` ` str ` ` (test_list)) `   ` # using loops ` ` # sum non-zero groups ` ` res ` ` = ` ` [] ` ` va l ` ` = ` ` 0 ` ` for ele in test_list: ```` if ele = = 0 : if val! = 0 : res.append (val)   val = 0 else :   val + = ele   # print result print ( "The non-zero group summation of list is: " + str (res)) ```

Output:

` The original list: [4, 9, 0 , 0, 3, 4, 5, 0, 0, 4, 0] The non-zero group summation of list is: [13, 12, 4] `

Method No. 2: Using ` itertools.groupby () + sum () `

This particular task can also be done using the groupby function to group all non-zero values, and the sum function can be used to summarize them.

 ` # Python3 demo code ` ` # summing non-zero groups ` ` # Using itertools.groupby () + sum () ` ` from ` ` itertools ` ` import ` ` groupby `   ` # initializing list ` ` test_list ` ` = ` ` [` ` 4 ` `, ` ` 9 ` `, ` ` 0 ` `, ` ` 0 ` `, ` ` 3 ` `, ` ` 4 ` `, ` ` 5 , 0 , 0 , 4 , 0 ] ````   # print the original list print ( "The original list: " + str (test_list))   # using itertools.groupby () + sum () # sum non-zero groups res = [ sum (val) for keys, v al in groupby (test_list, key = lambda x: x! = 0 ) if keys! = 0 ]   # print result print ( "The non-zero group summation of list is: " + str (res)) ```

Output:

` The original list: [ 4, 9, 0, 0, 3, 4, 5, 0, 0, 4, 0] The non-zero group summation of list is: [13, 12, 4] `