Ordenar lista en python - Super fácil!

En este ejemplo se muestra una clase llamada TestOrdenamiento, que posee una lista de elementos definida dentro del constructor, y posee un método que se encarga de ordenarla de mayor a menor.

testordenamiento.py
class TestOrdenamiento:
    def __init__(self):
        '''Constructor. Genera una lista nueva.'''
        self.lista = [4, 1, 5, 25, 2, 7, 0, -10, -100]

    def ordenarMayorAMenor(self):
        '''Ordena la lista de mayor a menor.'''
         cmp = lambda x,y: self.__cmpMayorMenor(x, y)
         self.lista.sort(cmp)

    def mostrar(self):
        print self.lista

    def __cmpMayorMenor(self, x, y):
        '''Comparador. Este método define la forma en la que se compararán 
           dos elementos de la lista. En este caso se comparan de mayor a 
           menor.'''
        if x < y:
            return -1
        elif x == y:
            return 0
        else:
            return 1    
 
Es bastante sencillo y entendible. Este se podría implementar así: main.py

#!/usr/bin/env python try: import sys import testordenamiento except ImportError, err: print "Error al intentar cargar un módulo. %s" % (err) sys.exit(2) def main(): # Primero generamos la lista y la mostramos (desordenada) ord = testordenamiento.TestOrdenamiento() ord.mostrar() # Luego la ordenamos y la volvemos a mostrar ord.ordenar() ord.mostrar() return 0 if __name__ == '__main__': main()

Espero que les haya sido útil, saludos!

Comentarios

Publicar un comentario

Entradas populares de este blog