[Python] ordinamento di un dizionario di liste per elemento di lista

Vittorio Spina vittorio.spina a gmail.com
Mar 17 Lug 2012 17:49:36 CEST


Grazie delle soluzioni
Ho inviato il messaggio 3 volte perchè il client mail mi dava errore, ma 
evidentemente eseguiva l'invio, e me ne dispiaccio.
Mi dispiaccio anche delle maniere un po' troppo arroganti che qualcuno 
di voi sfoggia in maniera del tutto direi incomprensibile.
Dovrebbe essere questa un gruppo affiatato e invece anche qui ci sono i 
soliti maleducati, mi riferisco al signor Varrazzo.
La domanda era troppo semplice per voi? Cercherò di bloccarmi su 
problemi più seri, scusate!
Comunque grazie Beri,
cercherò di integrare la soluzione che mi proponi nel mio codice...


Il 17/07/2012 17:42, Marco Beri ha scritto:
> 2012/7/17 Vittorio Spina <vittorio.spina a gmail.com 
> <mailto:vittorio.spina a gmail.com>>
>
>     Ciao a tutti,
>     ho un dizionario di questo tipo:
>     a = { "ValueName1": [a,b,c,d,e],
>             "ValueName2": [a,b,c,d,e],
>             ...
>             "ValueNamen": [a,b,c,d,s]
>           }
>     in pratica per ogni elemento del dizionario, ho una lista.
>     Ciascuna lista è composta di 5 elementi di tipo INTERO, il valore
>     "e" [4] di ciascuna lista è sempre differente da qualsiasi altro
>     elemento e-simo delle altre liste presenti nel dizionario.
>     Vorrei ordinare le voci il dizionario per e....
>     riassumendo se il mio dizionario fosse:
>     a={"vittorio":[1,2,3,4,6], "gianni":[11,77,3,4,3],
>     "luca":[2,4,1,5,8], "Marco":[2,2,3,6,1], "Antonio":[4,23,11,2,2]}
>     b=ordina(a) dovrebbe fare in modo che
>     b={"Marco":[2,2,3,6,1], "Antonio":[4,23,11,2,2],
>     "gianni":[11,77,3,4,3], "vittorio":[1,2,3,4,6], "luca":[2,4,1,5,8]}
>     Come si fa?
>     io non ce la faccio!
>     Aiuto vi prego!
>
>
> Abbiamo capito! Non serve che lo chiedi tre volte :-)
>
> >>> a={"vittorio":[1,2,3,4,6], "gianni":[11,77,3,4,3], 
> "luca":[2,4,1,5,8], "Marco":[2,2,3,6,1], "Antonio":[4,23,11,2,2]}
> >>> sorted(a.items(),key=lambda x:x[1][4])
> [('Marco', [2, 2, 3, 6, 1]), ('Antonio', [4, 23, 11, 2, 2]), 
> ('gianni', [11, 77, 3, 4, 3]), ('vittorio', [1, 2, 3, 4, 6]), ('luca', 
> [2, 4, 1, 5, 8])]
>
> Ovviamente se ti serve un dizionario ordinato devi usare una classe 
> apposta, tipo il SortedDict di Django.
> Ciao.
> Marco.
>
> -- 
> http://beri.it/ - Un blog
> http://beri.it/i-miei-libri/ - Qualche libro
>
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python

-- 
==========================================
Spina Giovanni Vittorio
email:		vittorio.spina a gmail.com
------------------------------------------
mobile: 	+39 389 15 24 211
==========================================

:: AVVISO PRIVACY
= = = = = = = = = = = = = = = = = = = =
Il contenuto della presente e-mail ed i suoi allegati,
sono diretti esclusivamente al destinatario e devono
ritenersi riservati, con divieto di diffusione o di uso
non conforme alle finalità per le quali la presente e-mail
è stata inviata.
Pertanto, ne è vietata la diffusione e la comunicazione
da parte di soggetti diversi dal destinatario, ai sensi degli
artt. 616 e ss. c.p. e D.lgs n. 196/03 Codice Privacy.

Se la presente e-mail ed i suoi allegati sono stati ricevuti
per errore, siete pregati di distruggere quanto ricevuto e
di informare il mittente al seguente recapito:
Mailto:vittorio.spina a gmail.com
==========================================

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120717/85f5615b/attachment.html>


Maggiori informazioni sulla lista Python