[PIPython] sort()
Fabrizio Reale
realefab
Ven 19 Nov 2004 15:16:51 CET
Il mer, 2004-09-15 alle 10:32, ciccio a unical.it ha scritto:
> Ciao a tutti,
>
> sapreste darmi qualche riferimento per la funzione sort()? Ho una lista di
> tuple, ciacuna contenente 3 elementi numerici, che vorrei ordinare in funzione
> del terzo valore della tupla.
>
> lista=[('1','2','0.01'),('1','3','2.11'),('1','4','1.55')]
>
> vorrei ottenere:
>
> [('1','2','0.01'),('1','4','1.55'),('1','3','2.11')]
A sort devi passare la funzione che serve per ordinare la lista e cioè a
distinguere tra due oggetti quale è il "maggiore".
>>> [1,2].sort.__doc__
'L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0,
1'
quindi nel tuo caso definirei
def confronta_tupla(x,y):
primo=x[2]
secondo=y[2]
if primo > secondo: return 1
if primo < secondo: return -1
return 0
che poi usi così:
lista.sort(confronta_tupla)
Verifica tutto, ho scritto senza controllare.
Fabry
More information about the Python
mailing list