要求:persons列表里的数据按照年龄降序排列
class Person(object):
def init(self, name, age):
self.name = name
self.age = age
p1 = Person(‘zhangsan’, 18)
p2 = Person(‘lisi’, 20)
p3 = Person(‘jack’, 17)
p4 = Person(‘tony’, 19)
p5 = Person(‘jerry’, 21)
persons = [p1, p2, p3, p4, p5]
方法一:
def des_order(x):
x.sort(key=lambda e:e.age,reverse=True)
des_order(persons)
for p in persons:
print(p.name,p.age)
方法二:
def f(x):
for i in range(len(x)):
for j in range (len(x)-1):
if x[j].age>x[j+1].age:
x[j],x[j+1]=x[j+1],x[j]
f(persons)
for p in persons:
print(p.name,p.age)
run的结果:
jack 17
zhangsan 18
tony 19
lisi 20
jerry 21