Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Ejemplo de comprensión de listas en Python

Estas en el tema de Ejemplo de comprensión de listas en Python en el foro de Python en Foros del Web. Estoy atascado un poco en la lógica de comprensión de listas, quisiera que me ayudaran con un ejemplo o mas bien el equivalente a lo ...
  #1 (permalink)  
Antiguo 09/11/2011, 18:30
Avatar de wilmermorel  
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 30
Antigüedad: 8 años, 3 meses
Puntos: 2
Exclamación Ejemplo de comprensión de listas en Python

Estoy atascado un poco en la lógica de comprensión de listas, quisiera que me ayudaran con un ejemplo o mas bien el equivalente a lo que seria el siguiente código en comprensión de listas.

Código Python:
Ver original
  1. def sumar(x, y):
  2.     return x + y
  3.  
  4. lista = [4, 8, 10, 5, 9]
  5. total = reduce(sumar, lista)
  #2 (permalink)  
Antiguo 09/11/2011, 20:36
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 8 meses
Puntos: 1360
Respuesta: Ejemplo de comprensión de listas en Python

map -> puedes pasarlo a compresion de listas.
filter -> puedes pasarlo a compresion de listas.
reduce -> no puedes pasarlo a compresion de listas.

Lo único que hace map es aplicarle una función a una lista en el caso mas simple claro.

filter solo selecciona aquellos elementos que cumplan con un criterio.

reduce toma 2 argumentos contiguos y lo reduce uno, así sucesivamente hasta tener un solo elemento.

En este caso no puedes tener tener un reduce usando compresión de listas por un motivo muy simple:
Compresión de listas regresa muchos elementos (esto es 0, 1 o mas elementos).
Mientras que reduce regresa un y solamente un elemento.
  #3 (permalink)  
Antiguo 09/11/2011, 21:58
Avatar de wilmermorel  
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 30
Antigüedad: 8 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Ejemplo de comprensión de listas en Python

Gracias por la información! Te digo que mi duda radicaba en un texto que decía que, a partir de la versión 3 de Python, reduce, map y filter no estarían disponibles en el grupo de funciones default del interprete dando lugar al uso de comprensión de listas, de modo que empece a usar este método hasta quedar atascado queriendo sustituir la función reduce... No comprendo por que, si no es posible usar la comprensión de listas para sustituir reduce, esta función quedaría fuera de las funciones principales de Python?
Pero gracias por la ayuda, si no vengo aquí a preguntar, todavia estaria perdiendo el tiempo haciendo pruevas.
  #4 (permalink)  
Antiguo 10/11/2011, 00:47
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 14 años, 8 meses
Puntos: 1360
Respuesta: Ejemplo de comprensión de listas en Python

Puedes leer esta entrada donde dice por que quitaron a map, filter y reduce en python 3.
  #5 (permalink)  
Antiguo 10/11/2011, 07:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ejemplo de comprensión de listas en Python

Aquí está la entrada completa con la subsiguiente discusión: http://www.artima.com/forums/flat.js...6&thread=98196

Es de 2005 y la entrada en el blog de GvR (clic en el enlace 'View in Weblog') dice, correctamente, que map() y filter() siguen estando en la biblioteca estándar, mientras que reduce() pasa a ser parte del módulo functools

Saludos.

Etiquetas: comprension, listas, reduce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:45.