Ordenación de elementos de una lista.
Andres Moya
Andres.Moya en hispalinux.es
Mie Ene 5 17:00:35 CET 2005
Rasta Popoulus wrote:
> Hola, el problema es que me han mandado un ejercicio en el que tengo
> que ordenar las fechas introducidos en una lista vacia de menor a
> mayor. Tengo la parte de la introducción de las fechas, pero no se
> como hacerlo para que me las ordene. esto es lo que tengo hecho:
>
> #Programa principal
> #Creamos el vector vacio
> lsita=[]
> leerListaFecha(lista)
Para ordenar una lista, normalmente basta con llamar al método sort:
lista.sort()
Lo que pasa es que para poder ordenar, el método sort debe saber cómo
comparar dos elementos de la lista para saber cuál es mayor y cuál
menor. En tu caso puedes hacer dos cosas, escribir una función y
pasarsela como parámetro al sort, o bien definir el método __cmp__ de tu
clase (yo haría esto último):
class TFecha(record):
[...]
def __cmp__(self, otra):
# compara self con otra, y devuelve
# -1 si self < otra
# 0 si self == otra
# 1 si self > otra
Ahora tienes que pensar cómo comparar un TFecha con otro ;)
Lo que no entiendo es lo del 'record'. Entiendo que ese no es un módulo
estándar de Python, ¿no? ¿Es algo que ha hecho tu profesor?
--
Andres.Moya en hispalinux.es
Más información sobre la lista de distribución Python-es