[Jose] -Hola y bienvenido de nuevo.
En este video estamos hablando de la función de mapa.
En el último video mencionamos brevemente
cuándo usaría el filtro o cuándo usaría las comprensiones del generador.
Y quería decir rápidamente, "que usarás filtro" cuando
estés programando con personas que no han estado "programando en Python
por mucho tiempo". "Por ejemplo,
programadores de otros lenguajes de
programación, o simplemente cuando su
proyecto involucra múltiples lenguajes de programación.
Python es uno de los pocos
lenguajes de programación que tiene una sintaxis como esta.
Entonces, si está trabajando con
muchos lenguajes de programación, tal vez tenga
sentido usar la función de filtro, y de esa manera, mantenga todo consistente.
Use la
función de filtro en todos los idiomas que usa.
Además, usará la función
de filtro si ya tiene una
función definida y no tiene que crearla.
De esa manera puede ser un poco más rápido.
Finalmente, también hay algo que decir para esta variable
que estamos creando aquí en esta comprensión.
Esta variable es bastante inútil, por lo
que hay algo que decir para no crear esta variable aquí.
Depende de usted por cuál
elegir, pero la forma principal de decidir, diría, es si su
programación con otras personas
a las que les gusta la función
de filtro, en lugar de las comprensiones.
Si solo está programando
con los desarrolladores de Python, use las
comprensiones, y si no les gusta, haga que les guste, porque generalmente será mejor.
Bien, ya es suficiente.
Hablemos de la función de mapa.
La función de mapa se
usa para tomar un iterable y generar un nuevo
iterable, donde cada elemento se ha modificado de acuerdo con alguna función.
Tomemos, por ejemplo, este mapa aquí.
Friends_lower va a mapear (lambda x: x. inferior, de amigos).
De nuevo, muy similar a la función de filtro.
También toma una función del
inicio que devuelve algo y toma algo
como un barómetro, y lo que se necesita
es cada uno de los elementos de este iterable aquí.
Entonces, el primero es Rolph
y devuelve Rolph todo en letras minúsculas.
Luego toma a José y regresa
todo en letras minúsculas y así sucesivamente.
Pero produce un generador.
Entonces, la primera vez que llamas
"siguiente", obtienes Rolph, en minúsculas.
Vamos a hacer eso.
Y como puedes ver,
obtienes Rolph, todo en minúsculas allí.
Esto es muy idéntico a esta lista de comprensión aquí.
Amigo más bajo para amigo en amigos,
y por supuesto es idéntico
a esta comprensión de generador de amigos más
baja, así.
¿Cual deberías usar?
Este, la comprensión del generador, a menos que
necesite que todos estén en
una lista, entonces puede hacer esta comprensión de la lista.
¿Cuándo deberías usar el mapa?
Nuevamente, como dije antes, cuando las personas
en su equipo, las
personas con las que está trabajando, están acostumbradas a usar el
mapa, eso es muy popular
en otros lenguajes de programación, o cuando
está trabajando
con otros lenguajes de programación al mismo tiempo,
y desea mantener todo coherente, o cuando cree
que será más legible porque algunas de las funciones que
definió anteriormente pueden usarse sin tener que crear la nueva función lambda.
Así que aquí hay un ejemplo de otro
punto en el tiempo, donde puede usar el mapa en lugar del filtro.
Digamos que tenemos una clase Usuario: que define un método
de inicio e incluye un nombre de usuario
y contraseña.
Y luego tiene un método de clase que
es de _dict.
Entonces, dado un diccionario de
datos, devolverá un objeto de usuario.
Por lo tanto, devolverá cls de nombre de usuario de
datos y contraseña de datos, por ejemplo.
Bueno.
Ahora tiene esto definido aquí en la clase de usuario,
y dado que tiene una lista de usuarios como este, voy
a copiarlos de mis notas,
solo para no aburrir que los escriba.
Tienes Rolf y tecladoisawesome, y tú
también eres la contraseña.
Dado que tiene esta función from_dict aquí
y desea crear una lista de objetos de usuario
a partir de estos diccionarios, podría
hacer algo como esto.
Y ese es el usuario. from_dict (usuario) para, lo siento, esta debería
ser la lista de usuarios, por cierto,
mis disculpas, por el usuario en los usuarios,
y eso estará bien.
Pero en realidad siento que un mapa podría ser más legible.
También es un poco más corto, pero eso no viene al caso.
Simplemente creo que esto es más legible aquí, porque sabes que
estás llamando a esto. Función dict
para cada elemento en este iterable.
Mientras que la lista de
comprensión, tienes que leerla, y tienes que crear
esta nueva variable que solo se usa para la iteración
y nada más, y en realidad estás llamando a
esta función aquí, no lo sé, solo
siento como el mapa en este caso es un poco más legible.
Por lo tanto, tenga esto en cuenta, si también
lo siente así, a veces el mapa puede
ser una mejor opción que la comprensión de la lista.
Y ese es solo un ejemplo allí.
Así que eso es todo para este
video, espero que hayas aprendido algo sobre la función del
mapa, y nos vemos en el próximo video.