Función de Python map () con EJEMPLOS

Tabla de contenido:

Anonim

Python map () aplica una función a todos los elementos de un iterador dados como entrada. Un iterador, por ejemplo, puede ser una lista, una tupla, un conjunto, un diccionario, una cadena y devuelve un objeto de mapa iterable. Python map () es una función incorporada.

En este tutorial, aprenderá:

  • Sintaxis:
  • ¿Cómo funciona la función map ()?
  • Usando map () con funciones integradas de Python
  • Usando map () con una cadena como iterador
  • Usando map () con lista de números
  • Usando map () con Tuple
  • Usando map () con el diccionario
  • Usando map () con Set
  • Usando map () con la función Lambda
  • Usando múltiples iteradores dentro de la función map ()

Sintaxis:

map(function, iterator1,iterator2… iteratorN)

Parámetros

Aquí hay dos importantes

  • función: Una función obligatoria que se le dará al mapa, que se aplicará a todos los elementos disponibles en el iterador.
  • iterador: un objeto obligatorio iterable. Puede ser una lista, una tupla, etc. Puede pasar varios objetos iteradores a la función map ().

Valor devuelto

La función map () aplicará la función dada en todos los elementos dentro del iterador y devolverá un objeto de mapa iterable, es decir, una tupla, una lista, etc.

¿Cómo funciona la función map ()?

La función map () toma dos entradas como función y un objeto iterable. La función que se le da a map () es una función normal, e iterará sobre todos los valores presentes en el objeto iterable dado.

Por ejemplo, considere que tiene una lista de números y desea encontrar el cuadrado de cada uno de los números.

Para obtener la salida, necesitamos la función que devolverá el cuadrado del número dado. La función será la siguiente:

def square(n):return n*n

La lista de elementos que queremos encontrar el cuadrado es la siguiente:

my_list = [2,3,4,5,6,7,8,9]

Ahora usemos la función incorporada map () python para obtener el cuadrado de cada uno de los elementos en my_list.

El código final es el siguiente:

def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

Producción:

[4, 9, 16, 25, 36, 49, 64, 81]

La salida de la función map (), como se ve en la salida, es un objeto de mapa que se muestra en la pantalla como .

Tendrá que iterar la salida del mapa usando un bucle for o usando el método list () para obtener la salida final. He usado list () en el código que muestra los valores dentro de la lista dada.

Entonces, usando la función map (), podemos obtener el cuadrado de cada número. La lista dada a map fue [2,3,4,5,6,7,8,9] y usando la función square () la salida del mapa () que obtuvimos es [4, 9, 16, 25, 36, 49, 64, 81].

La función map () aplica la función square () en todos los elementos de la lista. Por ejemplo, my_list variable y actualiza la lista con el cuadrado de cada número. La salida se almacena en la variable updated_list.

Usando map () con funciones integradas de Python

La función Python map () es una función incorporada y también se puede utilizar con otras funciones incorporadas disponibles en Python. En el ejemplo, vamos a hacer uso de la función incorporada de Python round () que redondea los valores dados.

Ejemplo:

La lista que tengo es my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Necesito los valores redondeados para cada elemento presente en la lista. Usaremos round () como función para map ().

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

Producción:

[3, 4, 4, 6, 6, 8, 8, 10]

La función round () se aplica a todos los elementos de la lista y devuelve una lista con todos los valores redondeados como se muestra en la salida.

Usando map () con una cadena como iterador

También podemos hacer uso de map () en una cadena. En Python, una cadena actúa como una matriz, por lo que podemos usarla fácilmente dentro del mapa ().

En el ejemplo, tenemos una función myMapFunc () que se encarga de convertir la cadena dada a mayúsculas. La función myMapFunc () se le da a la función map (). La función map se encargará de convertir la cadena dada a mayúsculas pasando la cadena a myMapFunc ().

def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)

Producción:

WELCOME TO GURU99 TUTORIALS!

Usando map () con lista de números

Para trabajar con la lista en map () se tomará una lista de números y se multiplicará cada número en la lista por 10.

La lista que vamos a utilizar es: [2,3,4,5,6,7,8,9]. La función myMapFunc () se encarga de multiplicar el número dado por 10. La función se asigna a mapear junto con la lista.

Ejemplo:

def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

Producción:

[20, 30, 40, 50, 60, 70, 80, 90]

El resultado que vemos es que cada número de la lista es

multiplicado por 10.

Usando map () con Tuple

Una tupla es un objeto en Python que tiene elementos separados por comas y encerrados entre corchetes. En el ejemplo, tomaremos una tupla con valores de cadena. La función que usaremos convertirá los valores dados a mayúsculas.

Ejemplo:

def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

Producción:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

La salida que obtenemos es una tupla con todos los valores que contiene se convierten a mayúsculas.

Usando map () con el diccionario

Un diccionario en Python se crea usando llaves ({}). Dado que el diccionario es un iterador, puede utilizarlo dentro de la función map (). Usemos ahora un diccionario como iterador dentro de la función map ().

El siguiente ejemplo muestra el funcionamiento del iterador de diccionario dentro de map ()

def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

Producción:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando map () con Set

Establecer en Python es una colección desordenada de elementos entre llaves (()). Dado que set () también es un iterador, puede utilizarlo dentro de la función map ().

Aquí hay un ejemplo práctico del uso de set como iterador dentro de map ()

def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

Producción:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando map () con la función Lambda

En Python, las expresiones lambda se utilizan para construir funciones anónimas. Tendrá que usar la palabra clave lambda tal como usa def para definir funciones normales.

Entonces, en el ejemplo, usaremos la función lambda dentro del mapa (). La función lambda multiplicará cada valor de la lista por 10.

Ejemplo:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

Producción:

[20, 30, 40, 50, 60, 70, 80, 90]

Usando múltiples iteradores dentro de la función map ()

Ejemplo 1: pasar dos iteradores de lista a map ()

Puede enviar más de un iterador, es decir, una lista, una tupla, etc., todo al mismo tiempo a la función map ().

Por ejemplo, si desea agregar dos listas. Lo mismo se puede hacer usando la función map (). Vamos a hacer uso de dos listas my_list1 y my_list2.

En el siguiente ejemplo, el primer elemento de my_list1 se agrega al primer elemento de my_list2. La función myMapFunc () toma elementos de my_list1 y my_list2 y devuelve la suma de ambos.

Aquí está el ejemplo práctico de agregar dos listas dadas usando la función map ().

def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

Producción:

[6, 11, 16, 21, 26, 31, 36]

Ejemplo 2: pasar una tupla y un iterador de lista a map ()

Vamos a hacer uso de una lista y un iterador de tupla en la función map (). La función se asigna a map: myMapFunc () obtendrá los elementos de la lista y Tuple. Los elementos se unirán con un guión bajo (_). El ejemplo de trabajo es el que se muestra a continuación:

def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

Producción:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Resumen

  • Python map () es una función incorporada que aplica una función a todos los elementos de un iterador dados como entrada. Un iterador, por ejemplo, puede ser una lista, una tupla, una cadena, etc. y devuelve un objeto de mapa iterable.
  • La función map () aplicará la función dada en todos los elementos dentro del iterador y devolverá un objeto de mapa iterable, es decir, una tupla, una lista, etc.
  • La función Python map () es una función incorporada y también se puede utilizar con otras funciones incorporadas disponibles en Python.
  • Una tupla es un objeto en Python que tiene elementos separados por comas y encerrados entre corchetes. En el ejemplo, se tomará una tupla con valores de cadena. La función que usaremos convertirá los valores dados a mayúsculas.
  • Un diccionario en Python se crea usando llaves ({}). Dado que el diccionario es un iterador, puede utilizarlo dentro de la función map ().
  • Establecer en Python es una colección desordenada de elementos entre llaves (()). Dado que set () también es un iterador, puede utilizarlo dentro de la función map ().
  • En Python, las expresiones lambda (o formas lambda) se utilizan para construir funciones anónimas. Entonces, la palabra clave lambda debe usarse cuando desee usar lambda dentro del mapa ().
  • Puede enviar más de un iterador, es decir, una lista, una tupla a la función map ().