リストソート

2742 ワード

sortメソッドを使用すると、listの要素をカスタム属性でソートできます.
 
class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return 'name:{},age:{}'.format(self.name, self.age)


if __name__ == '__main__':
    p_list = list()

    p_list.append(Person('admin', 15))
    p_list.append(Person('jet', 18))
    p_list.append(Person('Lily', 16))

    for p in p_list:
        print(p,end='; ')
    print()
    #  list      age    
    p_list.sort(key=lambda  x: x.age, reverse=True)  #     
    for p in p_list:
        print(p, end='; ')