[pyar] Lista agrupada

Alejandro Santos listas en alejolp.com
Lun Sep 26 09:16:44 ART 2011


2011/9/26 John Rowland Lenton <john.lenton en canonical.com>:
>
> no leí todo el thread de respuesta, aunque le pegué una ojeada y no ví
> nadie que te sugieriera itertools.groupby. Sobre todo para listas largas
> hace lo que querés.
>
> Primero, ordená lo que querés agrupar. Después, groupby sobre la data
> usando la misma función que usaste para ordenar, y salís hecho. Así:
>
>    data.sort(key=operator.itemgetter(2))
>
>    for k, g in itertools.groupby(data, key=operator.itemgetter(2)):
>        print k, list(g)
>

Estaba por sugerir algo parecido. Algunos lo conocen como "algoritmo
corte control", y la idea es agrupar las filas por algun criterio:

- Ordenar los datos por alguna columna.
- Recorrer mientras los datos de la columna ordenada sean iguales.

-- 
Alejandro Santos



More information about the pyar mailing list