Python: pasa múltiples argumentos a la función de mapa

La función map() es una función integrada en Python, que aplica una función determinada a cada elemento iterable (como lista, tupla, etc.) y devuelve una lista de resultados o un objeto de mapa. 

Sintaxis:

map(función, iterbl)

Parámetros:

funct: la función que se va a ejecutar para cada iterable
iterbl: una secuencia o colección de objetos iterables que se va a mapear

Nota :

  1.  Puede pasar tantos iterables como desee a la función map().
  2. Asegúrese de que la función tenga un parámetro para cada iterable.

Ejemplo :

Python3

# Python program to show working
# of map() function
  
# Return cube of n
def cube(n):
    return n**3
  
# Taking list as iterator
evennum = [2,4,6,8]
res = map(cube,evennum)
print(list(res))

Producción :

[8, 64, 216, 512]

Pasando Múltiples Argumentos a la función map()

Podemos pasar múltiples argumentos iterables a la función map(). Para esto se deben seguir ciertas reglas-

  • Supongamos que pasamos n iterable a map(), entonces la función dada debería tener n número de argumentos.
  • Estos argumentos iterables deben aplicarse en una función dada en paralelo.
  • En múltiples argumentos iterables, cuando se vacía el iterable más corto, el iterador del mapa se detendrá.
  • Pero en el caso de Python 2, el iterador del mapa se detendrá cuando finalice la secuencia más larga.

CÓDIGO 1: Pasar dos listas y la función ‘suma’ a map().

Acercarse:  

  • Defina una función sum, que devuelve la suma de dos números.
  • Declarar e inicializar lst1 y lst2.
  • Pasando la función sum, lst1 y lst2 a map().
  • El elemento en el índice 0 de la lista pasará como argumento a la función de suma y se devolverá su suma.
  • Este bucle continúa hasta que se agotan los elementos de una lista.
  • El resultado se almacenará en la lista de resultados.

Python3

# Python program to demonstrate
# passing of multiple iterable arguments to map()
# using 2 lists
  
# Function which return sum of 2 numbers
def sum(a,b):
    return a+b
  
# list 1
lst1=[2,4,6,8]
  
# list 2
lst2=[1,3,5,7,9]
  
  
result=list(map(sum,lst1,lst2))
print(result)

Producción :

[3, 7, 11, 15]

CÓDIGO 2:   Pasar tres listas y la función ‘Multiplicar’ a map().

Acercarse:  

  • Defina una función Multiplicar, que devuelve el producto de tres números.
  • Declarar e inicializar lst1, lst2 y lst3.
  • Pasando la función Multiplicar, lst1, lst2 y lst3 a map().
  • El elemento en el índice 0 de las tres listas pasará como argumento a la función Multiplicar y se devolverá su producto.
  • Este bucle continúa hasta que se agotan los elementos de una lista.
  • El resultado se almacenará en la lista de resultados.

Python3

# Python program to demonstrate
# passing of multiple iterable arguments to map()
# using 3 lists
  
# Function which return product of 2 numbers
def Multiply(a,b,c):
    return a*b*c
  
# list 1
lst1=[2,4,6,8,10,12,14,16]
  
# list 2
lst2=[1,3,5,7,9,11,15]
  
#list 3
lst3=[2,3,5,7,11,13,17]
  
  
result=list(map(Multiply,lst1,lst2,lst3))
print(result)

Producción :

[4, 36, 150, 392, 990, 1716, 3570]

CÓDIGO 3: Pasar la función de ‘división’, una lista y una tupla a map().

Acercarse :

  • Definición e inicialización de listas y tuplas.
  • Definición de la función de división que realiza la división de dos números.
  • Pasando la función lst, tup y división a map().
  • El elemento en el índice 0 de la lista y la tupla pasará como argumento a la función de división y se devolverá su cociente.
  • Este bucle continúa hasta que se agotan los elementos de la lista o la tupla.
  • El resultado se almacenará en la lista de resultados.

Python3

# Python program to demonstrate
# passing of multiple iterable arguments to map()
# using list and tuple
  
# Function which perform division of 2 numbers
def division(a,b):
    return a/b
  
# list 
lst=[2,4,6,8,10,12,14,16]
  
# tuple
tup=(2,3,5,7,9,11)
  
result=list(map(division,lst,tup))
print(result)

Producción :

[1.0, 1.33333333333333333, 1.2, 1.1428571428571428, 1.1111111111111112, 1.0909090909090908]

Publicación traducida automáticamente

Artículo escrito por vanshgaur14866 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 *