David Eduardo Bueno Núñez
Pregunta¿En qué casos es mejor aplicar list comprehensions y en qué otros son mejores las high order functions?
.
Me parece que es más fácil y rápido utilizar las list comprehensions. Pero no sé cual opción es más optima.
Marvin Alvarenga
Es un dilema la verdad y me pasa a mi igual. Te quiciera compartir mi opinión al respecto:
Cuando hacemos list comprehension, lo que estamos haciendo es crear una lista nueva, la cual ocupa espacio en memoria osea que cada elemento de la nueva lista vive en memoria. Para listas pequeñas esto no es un problema, pero para darle tratamiento a lista que son muy muy grandes puede llegar a ser un problema porque tienen que vivir en RAM.
Cuando usamos map, filter o reduce, funcionan un poco distinto, ellas no cargan en memoria todos los elementos, lo que cargan en memoria es "la manera o la formula de obtener los elementos uno por uno". Claro que cuando lo combertimos a lista pues sí se carga en memoria y pierde un poco su sentido.
Yo diría que la diferencia se va a notar grandemente cuando tengamos muchoos datos a filtrar, y no queremos cargarlos en memoria. Luego podemos iterar sobre el filter y nos va a ir devolviendo uno por uno sin cargarlos todos en memoria y podemos ir trabajando.
David Eduardo Bueno Núñez
Ahora entiendo, ¡gracias!
