Python función map() con EJEMPLOS
Python map() aplica una función a todos los elementos de un iterador dado 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.
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 de retorno
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, imagina que tienes una lista de números y quieres encontrar el cuadrado de cada uno de ellos.
Para obtener el resultado, 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 en el cuadrado es la siguiente:
my_list = [2,3,4,5,6,7,8,9]
Ahora usemos la función incorporada de Python map() 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*n my_list = [2,3,4,5,6,7,8,9] updated_list = map(square, my_list) print(updated_list) print(list(updated_list))
Salida:
<map object at 0x0000002C59601748> [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 al mapa fue [2,3,4,5,6,7,8,9] y usando la función square() la salida de map() 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, variable my_list y actualiza la lista con el cuadrado de cada número. La salida se almacena en la variable lista_actualizada.
Usando mapa() con Python funciones integradas
Python La función map() es una función incorporada y también se puede usar con otras funciones incorporadas disponibles en Python. En el ejemplo vamos a utilizar Python Función incorporada 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 mapear().
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))
Salida:
<map object at 0x000000E65F901748> [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 el resultado.
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 asigna 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="")
Salida:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Usando map() con listaf Numbers
Para trabajar con la lista en map() se tomará una lista de números y se multiplicará cada número de 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 para mapear junto con la lista.
Ejemplo:
def myMapFunc(n): return n*10 my_list = [2,3,4,5,6,7,8,9] updated_list = map(myMapFunc, my_list) print(updated_list) print(list(updated_list))
Salida:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
El resultado que vemos es que cada número en 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))
Salida:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
El resultado que obtenemos es una tupla con todos los valores convertidos a mayúsculas.
Usando map() con Diccionario
A diccionario en Python se crea utilizando llaves ({}). Dado que el diccionario es un iterador, puede usarlo dentro de la función map(). Ahora usemos 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*10 my_dict = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_dict) print(finalitems) print(list(finalitems))
Salida:
<map object at 0x0000007EB451DEF0> [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, puedes usarlo dentro de la función map().
Aquí hay un ejemplo funcional del uso de set como iterador dentro de map()
def myMapFunc(n): return n*10 my_set = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_set) print(finalitems) print(list(finalitems))
Salida:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Usando map() con la función Lambda
In 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 de map(). 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))
Salida:
<map object at 0x000000BD18B11898> [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 utilizar 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 cómo agregar dos listas dadas usando la función map().
def myMapFunc(list1, list2): return list1+list2 my_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))
Salida:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Ejemplo 2: pasar una tupla y un iterador de lista a map()
Usaremos una lista y un iterador de tupla en la función map(). La función se asigna al mapa: myMapFunc() obtendrá los elementos de la lista y Tupla. 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+"_"+tuple1 my_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))
Salida:
<map object at 0x00000059F37BB4E0> ['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 dado 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.
- Python La función map() es una función incorporada y también se puede usar 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 utilizaremos convertirá los valores dados a mayúsculas.
- un diccionario en Python Se crea utilizando llaves ({}). Dado que el diccionario es un iterador, puedes usarlo 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, puedes usarlo dentro de la función map().
- In Python, las expresiones lambda (o formas lambda) se utilizan para construir funciones anónimas. Por lo tanto, 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().