[pyar] Una manera idiomatica de hacer esto

Juan A. Diaz juan en linux.org.ar
Vie Abr 19 12:45:19 ART 2013


On 19.04.2013 12:38, Santiago Basulto wrote:
> Sí, le pifié con la división. Podría quedar todo así:
>
>     results.append([
>         k,
>         sum([date_group[1] for date_group in it]) / float(len(it))
>     ])

Si igual el comentario era para que Jairo piense/lea el código y no lo 
use simplemente.

Idealmente el tendría que tener una definición más estricta de que 
datos debe aceptar esta función y listo.

> Aunque todavía hay formas más simples e idiomáticas de hacerlo. A mi
> pq me gusta itertools. Pero con un dict vas como trompada.
>

Si, sin dudas itertools es, creo yo, la solución más elegante o la que 
más linda me parece.
Si usar itertools yo escribiría algo así: http://dpaste.com/1065012/


> 2013/4/19 Juan A. Diaz <juan en linux.org.ar>:
>> On 19.04.2013 11:29, Jairo Trad wrote:
>>>
>>> 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!
>>
>>
>>
>> Fijate que como dice santiago en su mail, no tenes que confiar en 
>> ese código
>> a ciegas.
>> Que pasa en el caso que los valores de la lista sean:
>>
>> dates = [
>>     [datetime.datetime(2013, 4, 10, 12, 0), 23],
>>     [datetime.datetime(2013, 4, 10, 12, 0), 25],
>>     [datetime.datetime(2013, 4, 10, 12, 0), 25],
>>
>>     [datetime.datetime(2013, 4, 10, 13, 0), 18.49],
>>     [datetime.datetime(2013, 4, 10, 14, 0), 20.74],
>>     [datetime.datetime(2013, 4, 10, 14, 0), 25.86],
>>     ]
>>
>>
>> Saludos.
>>
>>> El 19 de abril de 2013 11:21, Santiago Basulto
>>> <santiago.basulto en gmail.com [31]> escribió:
>>>
>>>> Podés agrupar con itertools: http://dpaste.com/1064927/ [1]
>>>>
>>>> 2013/4/19 Maximiliano Bertacchini <maxiberta en gmail.com [2]>:
>>>>
>>>>
>>>>> 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 [3] <mailto:facundobatista en gmail.com
>>>> [4]>> escribió:
>>>> >>>
>>>> >>>     2013/4/19 Jairo Trad <frodobolsonxx en gmail.com [5]
>>>> >>>     <mailto:frodobolsonxx en gmail.com [6]>>:
>>>>
>>>> >>>
>>>> >>>     > 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/ [7]
>>>> >>>     PyAr: http://www.python.org/ar/ [8]
>>>> >>>     Twitter: @facundobatista
>>>> >>>     _______________________________________________
>>>> >>>     pyar mailing list pyar en python.org.ar [9]
>>>> <mailto:pyar en python.org.ar [10]>
>>>> >>>     http://listas.python.org.ar/listinfo/pyar [11]
>>>>
>>>> >>>
>>>> >>>     PyAr - Python Argentina - Sitio web:
>>>> http://www.python.org.ar/ [12]
>>>>
>>>> >>>
>>>> >>>     La lista de PyAr esta Hosteada en USLA - Usuarios de
>>>> Software
>>>> >>>     Libre de Argentina - http://www.usla.org.ar [13]
>>>>
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> --
>>>> >>> "Yo construyo Soberanía, uso Software Libre"
>>>> >>> Wil Alvarez
>>>> >>> Linux Counter #415026
>>>> >>> http://damncorner.blogspot.com [14]
>>>> >>>
>>>> >>>
>>>> >>> _______________________________________________
>>>> >>> pyar mailing list pyar en python.org.ar [15]
>>>> >>> http://listas.python.org.ar/listinfo/pyar [16]
>>>>
>>>> >>>
>>>> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>> [17]
>>>>
>>>> >>>
>>>> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>> Libre de Argentina - http://www.usla.org.ar [18]
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >> _______________________________________________
>>>> >> pyar mailing list pyar en python.org.ar [19]
>>>> >> http://listas.python.org.ar/listinfo/pyar [20]
>>>>
>>>> >>
>>>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>> [21]
>>>>
>>>> >>
>>>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>> Libre de Argentina - http://www.usla.org.ar [22]
>>>> >>
>>>> >
>>>> >
>>>> > --
>>>> > Max
>>>> > _______________________________________________
>>>> > pyar mailing list pyar en python.org.ar [23]
>>>> > http://listas.python.org.ar/listinfo/pyar [24]
>>>>
>>>> >
>>>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>> [25]
>>>>
>>>> >
>>>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>>>> Libre de Argentina - http://www.usla.org.ar [26]
>>>>
>>>> --
>>>> 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




More information about the pyar mailing list