2012/7/17 Vittorio Spina <vittorio.sp...@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@lists.python.it http://lists.python.it/mailman/listinfo/python