Entra

View Full Version : [Python] Ordinare una lista di oggetti secondo criteri differenti


Xfree
28-06-2013, 16:26
Ciao a tutti,
vorrei ordinare una lista di oggetti secondo criteri differenti.
La lista contiene oggetti in cui ogni oggetto ha, supponiamo, i campi x, y, z.
Vorrei ordinare la lista per x in ordine inverso, a parità di x ordinare per y ed a parità di y ordinare per z.
Ho provato a guardare


sorted(lista, key = attrgetter('x', 'y', 'z'), reverse = True)


però mi sembra di avere capito che non si possono usare ordinamenti diversi.
Si può fare in qualche altro modo?

GByTe87
28-06-2013, 19:15
sorted accetta il parametro cmp, che in questo caso sarà una funzione in cui vai a confrontare i valori di x, y e z e restituire, di conseguenza, 1,0,-1 :)

Xfree
29-06-2013, 11:37
Bene, grazie per la risposta. :D