[pyar] Lista agrupada

Daniel Moisset dmoisset en machinalis.com
Vie Sep 23 17:53:52 ART 2011


2011/9/23 Daniel <dmlistapython en gmail.com>

> Necesito ayuda con un algoritmo al que no encuentro
> una forma pythonica de encararlo.
>
> Tengo una lista de listas, desordenada
> ejemplo no real (porque las listas son largas)
>
> [
>  [auto, DAL399, alvarez],
>  [moto, 393DSR, gomez],
>  [auto, SFT320, perez],
>  [auto, DSL598, gomez]
> ]
> y necesitaría recorrerla agrupada, algo así
>
> [gomez]
>      [auto, DSL598],
>      [moto, 393DSR]
> [alvarez]
>      [auto, DAL399]
> [perez]
>      [auto, SFT320]
>
>
> Originalmente es un archivo CVS, así que si se les ocurre otra manera que
> no sea con listas bienvenida la idea....
>

Esto es casi lo mismo que te dijo otra gente, pero a mi criterio mas legible

import collections
vehiculos = collections.defaultdict(list)
for tipo, chapa, dueno in lista:
    vehiculos[dueno].append ((tipo, chapa))

despues podes recorrer con:

for dueno in vehiculos:
   hacer algo con vehiculos[dueno], por ejemplo
   for tipo, chapa in vehiculos[dueno]:
      print dueno, tipo, chapa

Saludos,
   D.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110923/33e5968d/attachment.html>


More information about the pyar mailing list