属性で降順に並べ替えたいオブジェクトの (小さな) リストがあります。
そのような:
obj1.age = 1
obj2.age = 2
obj3.age = 3
list = [obj3,obj2,obj1]
とを使用operator.attrgetter
し.sort
ます。
from operator import attrgetter
your_list.sort(key=attrgetter('age'), reverse=True)
あなたのリストは小さいので、インポートする必要はありませんoperator.attrgetter
。関数で使用sorted
すると、lambda
同様に実行されます。
sorted(lst, key=lambda x: x.age, reverse=True)
上記のコードでlst
は、リストです。名前を変更したのは、変数に名前を付けることlist
は組み込みを覆い隠すため、悪い習慣だからです。
また、このソリューションはインプレース ソリューションではありません。つまり、変数に割り当てることができます:
new_lst = sorted(lst, key=lambda x: x.age, reverse=True)