Given a 2-D matrix, we need to find sum of all elements present in matrix ? Examples:
Input : arr = [[1, 2, 3], [4, 5, 6], [2, 1, 2]] Output : Sum = 26
This problem can be solved easily using two for loops by iterating whole matrix but we can solve this problem quickly in python using map() function.
Python3
# Function to calculate sum of all elements in matrix # sum(arr) is a python inbuilt function which calculates # sum of each element in a iterable ( array, list etc ). # map(sum,arr) applies a given function to each item of # an iterable and returns a list of the results. def findSum(arr): # inner map function applies inbuilt function # sum on each row of matrix arr and returns # list of sum of elements of each row return sum ( map ( sum ,arr)) # Driver function if __name__ = = "__main__" : arr = [[ 1 , 2 , 3 ], [ 4 , 5 , 6 ], [ 2 , 1 , 2 ]] print ( "Sum = " ,findSum(arr)) |
Sum = 26
What does map() do?
The map() function applies a given function to each item of an iterable(list, tuple etc.) and returns a list of the results. For example see given below example :
Python3
# Python code to demonstrate working of map() # Function to calculate square of any number def calculateSquare(n): return n * n # numbers is a list of elements numbers = [ 1 , 2 , 3 , 4 ] # Here map function is mapping calculateSquare # function to each element of numbers list. # It is similar to pass each element of numbers # list one by one into calculateSquare function # and store result in another list result = map (calculateSquare, numbers) # resultant output will be [1,4,9,16] print (result) set_result = list (result) print (set_result) |
<map object at 0x7fdf95d2a6d8> [1, 4, 9, 16]
This article is contributed by Shashank Mishra (Gullu). If you like Lazyroar and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the Lazyroar main page and help other Geeks.