Open In App

Sum 2D array in Python using map() function

Improve
Improve
Like Article
Like
Save
Share
Report

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))


Output

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)


Output

<map object at 0x7fdf95d2a6d8>
[1, 4, 9, 16]


Last Updated : 21 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads