[pyar] Organizar una lista de lista

Daniel Moisset dmoisset en machinalis.com
Mie Ago 10 12:48:13 ART 2011


2011/8/10 Federico Manuel Echeverri Choux <echeverrifm en gmail.com>

> Hola!! Gente ando haciendo un modulo para Openerp, este modulo es para un
> declaracion de operaciones con terceros. DIOT
>
> la cuestion es la siguiente, yo le pudo unos datos y me los arma de esta
> forma.
>
> [['04', '85', 'CJC891108JN5', 100.0, 100.0, 100.0, 200.0], ['04', '85',
> 'CJC891108JN5', 100.0, 100.0, 100.0, 0], ['04', '85', 'APL791207CJ0',
> 517.2413793103448, 0, 0, 0], ['04', '85', 'MAZC751127Q76',
> 862.0689655172413, 0, 0, 0], ['04', '85', 'FFCF750523II3', 40.0, 0, 0, 0],
> ['04', '85', 'FFCF750523II3', 40.0, 60.0, 80.0, 0]]
>
> Hasta ahi todo bien, la cuestion es si hay alguna forma simple, lo que
> pense es demasiado grande y se me hace que hay una forma mas simple que me
> de este resultado
>
> [['04', '85', 'CJC891108JN5', 200.0, 200.0, 200.0, 200.0], ['04', '85',
> 'FFCF750523II3', 80.0, 60.0, 80.0, 0], ['04', '85', 'APL791207CJ0',
> 517.2413793103448, 0, 0, 0], ['04', '85', 'MAZC751127Q76',
> 862.0689655172413, 0, 0, 0]]
>
> Si se fijan junta los RFC que en Argentina es como el CUIT y me hace los
> acumulados de cada uno de ellos.
>

No se si entendi bien, pero algo como esto?

result = {}
for id1, id2, id3, x1,x2,x3,x4 in l:
    previos = result.get((id1,id2,id3),(0,0,0,0))
    nuevos = (x1,x2,x3,x4)
    result[(id1,id2,id3)] = [datos[i] + nuevos[i] for i in range(4)]

Esto genera un diccionario, no una lista, pero los datos que tienen
coinciden con los que vos decis

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


More information about the pyar mailing list