Samuel Alvarez
Moisés Manuel Morín Hevia
Victor
Nicolas Barragan
Alan German Gutiérrez
Valenttina Cardozo
Daniela Funes
Reinaldo Mendoza
Moisés Manuel Morín Hevia
Josue Noha Valdivia
Andrés Cardona
Moisés Manuel Morín Hevia
Leonardo Gomez
Moisés Manuel Morín Hevia
Beder Danilo Casa Condori
Luis Alejandro Nieto Ruth
Moisés Manuel Morín Hevia
fidel angel ochoa
Wilson Delgado
Diego Alejandro Guancha Naranjo
Karen Johana Perez Miranda
Edkar Chachati
Kevin Mejia
Juan Antonio Aramburo Pasapera
César Valentín Cobos Clemente
Gabriel Revelo
Fabian Julio
Ruben Dario Hernandez Centeno
Simon Montoya Bedoya
Andres Condezo Monge
Mauricio Gonzalez Falcon
Víctor Moreno Marín
Marwan El Ouarti Mellado
Antonio Demarco Bonino
Jose Luis Quintero Sanchez
Reinaldo Mendoza
Julio Sarango
Moisés Manuel Morín Hevia
Jose Luis Quintero Sanchez
Moisés Manuel Morín Hevia
Nestor Jesus Rodriguez Rodriguez
Carlos Fernando Aguilar González
Gonzalo Hernan Velazco
Wilson Fernando Antury Torres
Jorge Méndez Ortega
Sergio Ivan Santacruz Madrigal
Jeiber Ignacio Jimenez Bojaca
Andres López
Fernando Campos
Mauricio Fernando Bautista López
Fernando Campos
Facundo: Estoy seguro de que no caen 2 veces yo: caigo Facundo: !hola
hahaha
JAJAJAJAJAJJAA
La diferencia entre filter y map:
Cómo funciona reduce:
Excelente, había entendido el funcionamiento en el código pero no tenía muy en claro las diferencias!.
Gracias.
No me había quedado clara la diferencia ente filter y map. Gracias!
jajajaja
haha
High order funcions O funciones de orden superior, son funciones que reciben como parámetro a otra función. Funciones de orden superior de importancia:
filter(<funcion filtro>, <iterable>)map(<funcion>, <iterable>)reduce(<funcion reduccion>, <iterable>), la función de reducción necesita de dos parámetros, uno que almacena el resultado (o el primer valor del iterable) y otro que opera con el siguiente valor del iterable: lambda a,b: <expresión>Gracias por el resúmen!! Muy útil.
Thanks,
Cuando te dicen que no caes 2 veces
haha.
jajaja
Acá le dejo el código de la clase para poder practicar y entender:
from functools import reduce def main(): #Filter myList = [1,4,5,7,9,13,19,21] odd = list(filter(lambda x: x % 2 != 0, myList)) print(odd) #Map myList2 = [1, 2, 3, 4, 5] squares = list(map(lambda x: x**2, myList2)) print(squares) myList3 = [2, 2, 2, 2, 2] allMultiplied = reduce(lambda a, b: a * b, myList3) print(allMultiplied) if __name__ == '__main__': main()
Gracias
gracias, directo a mis apuntes!
Es te video puede ser de gran ayuda: https://www.youtube.com/watch?v=hUes6y2b--0
Accurate!
Excelente recurso Wilson, me ayudó a entender muchísimo el funcionamiento de la función map. Muchas gracias!
High Order Functions
Funciones que reciben como parámetro otra función
Filter
devuelve True or False según el valor esté dentro de los criterios buscados o no. En caso de que no cumpla con la condición, no será devuelto y la lista se verá reducida por este filtro.
""" Dada una lista de numeros filtra para quedarte solo con los números impares """ my_list = [i for i in range(10)] # Usando def def get_odds(arr): odds = [] for n in arr: if n % 2 == 1: odds.append(n) return odds # Usando List Comprehension odds = [n for n in my_list if n % 2 == 1] # Usando Filter odds_filter = list(filter(lambda n: n % 2 == 1, my_list)) print(odds_filter)
Map
Funciona muy parecido, pero su diferencia radica en que no puede eliminar valores de la lista del array entregado. Es decir, el output tiene la misma cantidad de valores que el input.
""" Obtener todos los numeros de una lista multiplicados al cuadrado """ # Usando Def def get_squares(arr): squares = [] for n in arr: squares.append(n * n) return squares # Usando List Comprehension squares = [n * n for n in my_list] # Usando Map squares_map = list(map(lambda x: x*x, my_list)) print(squares_map)
Reduce
Toma 2 valores entregados como parámetros y el iterador como otro parámetro. Realiza la función con estos 2 valores, y luego con el resultado de esto y el valor que le sigue en el array. Y así hasta pasar por todos los valores de la lista.
""" Suma todos los valores de una lista """ from functools import reduce # Usando def def get_sum(arr): result = 0 for n inarr: result += n return result # Usando Reduce sum = reduce(lambda a, b: a + b, my_list) print(sum)
!
Cuando vuelves a caer por segunda vez, pero te das cuenta que fue una broma. 😅
En mi defensa el curso anterior tiene varios meses que lo hice XD
También en mi defensa diré estaba distraído con mi café 🤣
si completaste el curso basico de python lo tienes que entender sin problema
jajajjajajaj
Jajajajajajaja
En términos de desempeño del código. ¿Qué es más recomendable entre lists comprehensions y la función map?
Dejo mi punto para recibir la notificación cuando respondan la pregunta .
Yo diría que es a nuestro gusto, porque también podemos pensar el zen de python, que sí este código es más corto pero menos legible.
Al final depende de nuestro criterio, saludos
Apuntes clase 12
Este curso se pone cada vez más bueno...
...y sube el nivel de dificultad..
Muy bien explicado y enlazando los temas para que se queden en la memoria
Alguien más revisó la duración del video cuando dijo: Nos vemos en la siguiente clase ??? jajaj
No caí haha
Desafío inicial,
print([i**2 for i in range(1, 6)])
Cool. Muy limpio
wow, no sabía que esto se podía hacer... ya lo hice también y lo disfruté con una deliciosa taza de café :)
Filter:
Map:
Reduce:
Gracias, muy útil para quienes tomamos apuntes solamente en PC.
Esto es como un callback?
Si
Por si nos les quedo claro las diferencias entre filter, map y reduce. Ayuda a comprender mas a fondo https://taverasmisael.com/blog/usar-map-filter-y-reduce-para-olvidarnos-de-los-bucles-for#:~:text=A%20diferencia%20de%20filter%2C%20map,de%20la%20transformaci%C3%B3n%20que%20apliquemos.&text=A%20map%20le%20pasamos%20una,sin%20afectar%20el%20array%20original.
Gracias por el artículo, me sirvió mucho a pesar de que es originalmente para JS, pero los principios aplican igual para Python
Entendí como usarlas, lo que no me quedó claro es el por qué. ¿Cuál es la diferencia entre usar una de estas funciones y solucionar el problemar sin ellas?
Hola, quizá aquí no se ve tanto su utilidad por que de entrada estamos trabajando con casos muestra súper chicos, pero teniendo objetos mucho mas grandes se puede ver la diferencial ya que performea mucho mejor en tiempo otro ejemplo es cuando por ejemplo quieres crear mascaras en un reporte... un ejemplo mas especifico es cuando quieres programar un reporte que tiene que ver con dinero. para que puedas poner el símbolo $ usas map para que los reportes se puedan identificar como moneda. espero haya sido de utilidad saludos
Gracias, Mauricio.