Python | Matrix True Summation

• Last Updated : 27 Feb, 2020

Checking a number/element by a condition is a common problem one faces and is done in almost every program. Sometimes we also require to get the totals that match the particular condition to have a distinguish which to not match for further utilization like in data Science. Lets discuss certain ways in which we can count True values in Matrix.

Method #1 : Using sum() + generator expression
This method uses the trick of adding 1 to the sum whenever the generator expression returns true. By the time list gets exhausted, summation of count of numbers matching a condition is returned.

 # Python 3 code to demonstrate # Matrix True Summation# using sum() + generator expression from itertools import chain  # initializing list test_list = [[3, False], [False, 6], [False, 9]]   # printing original list print ("The original list is : " + str(test_list))   # using sum() + generator expression # Matrix True Summationres = sum(1 for i in chain.from_iterable(test_list) if i == True)   # printing result print ("The number of True elements: " + str(res))
Output :
The original list is : [[3, True], [True, 6], [True, 9]]
The number of True elements: 3

Method #2 : Using sum() + map()
map() does the task almost similar to the generator expression, difference is just the internal data structure employed by it is different hence more efficient.

 # Python 3 code to demonstrate # Matrix True Summation# using sum()+ map() from itertools import chain  # initializing list test_list = [[3, True], [True, 6], [True, 9]]   # printing original list print ("The original list is : " + str(test_list))   # using sum()+ map() # Matrix True Summationres = sum(map(lambda i: i == True, chain.from_iterable(test_list)))   # printing result print ("The number of True elements: " + str(res))
Output :
The original list is : [[3, True], [True, 6], [True, 9]]
The number of True elements: 3

My Personal Notes arrow_drop_up