Ordenar con sort por dos atributos
Publicado por alejandro (3 intervenciones) el 18/02/2014 10:49:02
Hola,tengo que ordenar por nombre y edad redefiniendo el método __cmp__, a la hora hora de ordenar es como lo tengo hecho hasta hora pero ala hora de ordenar por edad no se como hacerlo, dejo mi código.
saludos y gracias!
saludos y gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Persona():
def __init__(self ,nombre,edad):
self.nombre = nombre
self.edad =edad
def __cmp__(self,persona) :
if self.nombre < persona.nombre:
rst = -1
elif self.nombre > persona.nombre:
rst = 1
else:
rst = 0
return rst
obj1 = Persona("hola",12);
obj2 = Persona("Alex",1);
obj3 = Persona("Andrea",52);
obj4 = Persona("adios",13);
obj5 = Persona("Pepito",80);
obj6 = Persona("Alejandro",5);
lista = [obj1,obj2,obj3,obj4,obj5,obj6];
print "Ordenar por nombre"
lista.sort();
a=0
for persona in lista:
print(lista[a].nombre,lista[a].edad)
a=a+1
print ""
print "Ordenar por edad"
//No se como ordenar por edad
a=0
for persona in lista:
print(lista[a].nombre,lista[a].edad)
a=a+1
Valora esta pregunta


0