python根据对象的字段值对列表进行排序

对象按照某个属性值进行排序需要用到python的高阶函数:lambda表达式,

其中reverse代表是否反向排序

class test(object):
    def __init__(self,free,cap,name):
        self.free=free
        self.cap=cap
        self.name=name



if __name__=='__main__':
    lis=[test(1,2,'1'),test(2,2,'1'),test(3,2,'1'),test(4,2,'1'),test(5,2,'1')]

    ls=sorted(lis,key=lambda x:x.free,reverse=True)

    for item in ls:
        print(item.free)