Suma una array 2D en Python usando la función map()

Dada una array bidimensional, necesitamos encontrar la suma de todos los elementos presentes en la array. Ejemplos:

Input  : arr = [[1, 2, 3], 
                [4, 5, 6], 
                [2, 1, 2]]
Output : Sum = 26

Este problema se puede resolver fácilmente usando dos bucles for iterando toda la array, pero podemos resolver este problema rápidamente en python usando la función map(). 

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))
Producción

Sum =  26

¿Qué hace mapa()?  
La función map() aplica una función determinada a cada elemento de un iterable (lista, tupla, etc.) y devuelve una lista de los resultados. Por ejemplo, vea el siguiente ejemplo: 

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)
Producción

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

Este artículo es una contribución de Shashank Mishra (Gullu) . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *