[pyar] Una manera idiomatica de hacer esto
Angel Java Lopez
ajlopez2000 en gmail.com
Vie Abr 19 11:52:37 ART 2013
Hola gente!
Hmmm... ni idea de como escribir en Python. Pero me recuerda a mis dias con
RPG II ;-)
Jeje... ya saben, lo haria con TDD.
Y en seudocodigo, lo primero que iria surgiendo seria:
currentdate = null
nitems = 0
total = 0
result = []
foreach date in dates
if currentdate != date.date
if currentdate != null
result.add([currentdate, total/nitems])
end
currentdate = date.date
nitems = 0
total = 0
end
nitems++
total += date.value
end
if currentdate != null
result.add([currentdate, total/nitems])
end
O sea, no comparia una fecha con la siguiente, sino mantendria la ultima
fecha que estoy procesando, teniendo un valor particular (null) para
indicar que todavia no estoy procesando ninguna.
No apunto a algo idiomatico de Python, sino a algo que puede surgir
naturalmente como solucion.
Problemas: la inicializacion (.... nitems = 0, total = 0... ) se hace en
dos lugares, y el result.add se hace en dos lugares. Habria que mejorar
eso, y pienso que ya depende del lenguaje, contexto, y si importa o no eso.
A mi, personalmente, me inquietaria mas que NO ESTE hecho con TDD. Pero
bueno, son gustos decia una vieja, y le ponia cielorraso al horno ;-)
Angel "Java" Lopez
@ajlopez
2013/4/19 Santiago Basulto <santiago.basulto en gmail.com>
> Me alegro te sirva. Es horrible eso igual, pegale una revisada. No
> confíes en mi código, ni yo mismo confío ;)
>
> 2013/4/19 Jairo Trad <frodobolsonxx en gmail.com>:
> > Buenisimo Santiago! eso era lo que me hacia falta... despues le hago un
> > proffiling pero me parece que no voy a encontrar algo mas rapido que eso.
> >
> > Gracias a todos!
> >
> >
> > El 19 de abril de 2013 11:21, Santiago Basulto <
> santiago.basulto en gmail.com>
> > escribió:
> >
> >> Podés agrupar con itertools: http://dpaste.com/1064927/
> >>
> >> 2013/4/19 Maximiliano Bertacchini <maxiberta en gmail.com>:
> >> > Y por qué no usar itertools.groupby() ?
> >> >
> >> > On 04/19/2013 11:00 AM, Roberto Alsina wrote:
> >> >> On 19/04/13 10:54, Wil Alvarez wrote:
> >> >>> ¿Qué tanto te importa el performance? Porque puedes recorrer la
> lista
> >> >>> superior y agrupar en un diccionario (sacando el correspondiente
> >> >>> promedio), luego ese diccionario lo conviertes a una lista
> nuevamente
> >> >>> o lo usas así si no tienes problema.
> >> >>> La clave de cada elemento del diccionario sería la fecha
> >> >>>
> >> >>
> >> >> Y convertirlo en una lista como esa es list(diccionario.items())
> (bah,
> >> >> te queda una lista de tuplas ;-)
> >> >>
> >> >>>
> >> >>> El 19 de abril de 2013 10:49, Facundo Batista
> >> >>> <facundobatista en gmail.com <mailto:facundobatista en gmail.com>>
> escribió:
> >> >>>
> >> >>> 2013/4/19 Jairo Trad <frodobolsonxx en gmail.com
> >> >>> <mailto:frodobolsonxx en gmail.com>>:
> >> >>>
> >> >>> > Facu, ese es el aproach que estoy intentando ahora, pero que
> >> >>> queda un for
> >> >>> > con un if con un for anidado y no me gusta nada nada... poste
> en
> >> >>> la lista
> >> >>>
> >> >>> Debería quedarte un for con un if adentro, nada más.
> >> >>>
> >> >>> Mostrá lo que estás haciendo...
> >> >>>
> >> >>> --
> >> >>> . Facundo
> >> >>>
> >> >>> Blog: http://www.taniquetil.com.ar/plog/
> >> >>> PyAr: http://www.python.org/ar/
> >> >>> Twitter: @facundobatista
> >> >>> _______________________________________________
> >> >>> pyar mailing list pyar en python.org.ar <mailto:pyar en python.org.ar
> >
> >> >>> http://listas.python.org.ar/listinfo/pyar
> >> >>>
> >> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >> >>>
> >> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
> >> >>> Libre de Argentina - http://www.usla.org.ar
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> "Yo construyo Soberanía, uso Software Libre"
> >> >>> Wil Alvarez
> >> >>> Linux Counter #415026
> >> >>> http://damncorner.blogspot.com
> >> >>>
> >> >>>
> >> >>> _______________________________________________
> >> >>> pyar mailing list pyar en python.org.ar
> >> >>> http://listas.python.org.ar/listinfo/pyar
> >> >>>
> >> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >> >>>
> >> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de
> >> >>> Argentina - http://www.usla.org.ar
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> pyar mailing list pyar en python.org.ar
> >> >> http://listas.python.org.ar/listinfo/pyar
> >> >>
> >> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >> >>
> >> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de
> >> >> Argentina - http://www.usla.org.ar
> >> >>
> >> >
> >> >
> >> > --
> >> > Max
> >> > _______________________________________________
> >> > pyar mailing list pyar en python.org.ar
> >> > http://listas.python.org.ar/listinfo/pyar
> >> >
> >> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >> >
> >> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> >> > Argentina - http://www.usla.org.ar
> >>
> >>
> >>
> >> --
> >> Santiago Basulto.-
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> >> Argentina - http://www.usla.org.ar
> >
> >
> >
> >
> > --
> > Jairo Trad
> > Ing. en Computación - FCEFyN - UNC
> > ar.linkedin.com/in/ingjairotrad
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
>
> --
> Santiago Basulto.-
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130419/86151f46/attachment.html>
More information about the pyar
mailing list