Bienvenidos de nuevo, quiero hablarles sobre algunas funciones útiles que obtenemos y que realmente nos permiten
pensar en un paradigma de programación funcional.
El nombre de estas funciones es filtro de mapa.
Zipp.
Y reducir en estas son funciones muy, muy útiles y muy comunes que escribirás mucho cuando seas un programa de
Python.
Así que explorémoslos.
Primero, comenzaremos con MAP.
Y el mapa en realidad nos permite simplificar el código que tenemos aquí de multiplicar por dos.
Verá, con matemáticas, lo tengo disponible como una función, como una función incorporada, y vemos aquí
que le damos al primer parámetro una función y luego el segundo parámetro es iterable.
Una buena forma de pensarlo es que queremos emprender algún tipo de acción aquí.
Entonces, una función y luego los datos sobre los que queremos actuar.
Digamos, en nuestro caso, uno, dos, tres.
Entonces, ¿qué acción queremos emprender?
Uno dos tres.
Bueno, queremos multiplicar por dos, digamos multiplicar.
Por dos.
Ahora, tengo que mover esto hacia abajo porque tenemos que definir la función primero.
Y ejecútelo así, así que en lugar de imprimir esto, hagámoslo.
Impresión.
Así, si lo ejecuto.
Obtengo un objeto de mapa en esta ubicación de memoria.
Y el mapa nos da automáticamente este objeto que ha creado en esta memoria.
Entonces, para que podamos verlo realmente, tenemos que convertirlo en una lista como esta.
Entonces, si ejecuto esto.
Dice que en línea para el objeto int no es iterable, bueno, es porque con MAP, ya no necesitamos
hacer esta creación de una lista y luego agregarla a una lista.
Verá, lo bueno de MAP es que le doy algunos datos y luego esto actúa sobre estos datos.
Y todo lo que necesitamos hacer con la función de mapa es tener una función que regrese.
Esta parte, Eitam multiplicado por dos, así que en lugar de tener todo este código, todo lo que tenemos que hacer es decir return.
Tiempos de artículo hasta.
Así que cambiemos este parámetro a item.
Y mire el código un poco más en detalle.
Entonces, con el mapa, digo, oye, quiero que ejecutes la función, multiplícalo por dos, fíjate aquí que
ni siquiera tengo los corchetes porque no necesito llamarlo mapa.
¿Es por mi?
El mapa solo dice, oye, solo dame la función, yo me ocuparé del resto.
Entonces no voy a llamar a la función aquí.
El mapa va a llamar a la función por mí.
Solo digo, oye, cuando llamo al mapa de esta manera.
Quiero que use esta función en esta dirección de memoria y use estos datos.
¿Recuerda nuestro paradigma de programación funcional?
Tenemos datos sobre los que se actúa, por lo que separamos esos dos.
Ahora, esta función tomará cada uno de los elementos en nuestros comestibles, en nuestro caso, el primer elemento será
uno, luego dos, luego tres.
Y luego todo lo que tenemos que hacer es devolver el efecto que queremos tener en ese artículo.
En nuestro caso, es para hacerlo haciendo que este mapa ejecute automáticamente esta función por nosotros y recorra todos los
elementos en el iterable y nos devuelva un nuevo objeto de mapa que vamos a convertir en una
lista si ejecuto esto.
Recibo dos, cuatro, seis.
Ahora, aquí está la parte interesante, si lo hago, digamos mi lista y yo digo uno, dos, tres.
Y cambié mi lista por aquí.
Así y al final, también imprimo mi lista si hago clic en ejecutar.
Verás que mi lista no ha cambiado.
¿Recordar?
Una función pura es una función que no afecta al mundo exterior de esta manera, map nos permite crear una
lista completamente nueva.
Eso no modifica mi lista.
Entonces mi lista es inmutable, ¿verdad?
No lo cambiamos y todo lo que hace es la función del mapa, se encarga de ello y nos devuelve una nueva lista.
Pero no afectamos al mundo exterior.
No hay efectos secundarios en esta función.
Simplemente estamos multiplicando elemento a elemento por dos creando una nueva lista a partir de esto.
Y cada vez que le damos la misma entrada, dará como resultado la misma salida.
Muy, muy bueno, y el mapa es extremadamente útil porque cada vez que tenemos algo sobre lo
que podemos iterar y queremos cambiar, digamos que tenemos correos electrónicos o nombres de usuario y necesitamos actualizar los nombres de usuario
a, digamos, letras mayúsculas .
En ese caso, podemos iterar y usar la función matemática, cambiar todos los nombres de usuario en nuestra lista a, digamos,
el mapa de letras mayúsculas será una de esas funciones que usas mucho en tu carrera de programación.
Y espero que puedan ver aquí lo limpio y agradable que es, nuevamente, usar paradigmas de programación funcional.
Pasemos al siguiente.
A continuación, hablemos de Filter.