Change language

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

## Shop

Learn programming in R: courses

\$

Best Python online courses for 2022

\$

Best laptop for Fortnite

\$

Best laptop for Excel

\$

Best laptop for Solidworks

\$

Best laptop for Roblox

\$

Best computer for crypto mining

\$

Best laptop for Sims 4

\$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

NUMPYNUMPY

How to specify multiple return types using type-hints

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

NUMPYNUMPY

glob exclude pattern

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

NUMPYNUMPY

Python CSV error: line contains NULL byte

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries