python: インスタンスのリストをインスタンスが持つ属性で並べ替え(sort, lambda)
備忘録です。今回はインスタンス変数をまとめたリストを並べ替えます。
並べ替えsort()
下記のようなリストmemberを年齢順に並べ替えたいっていう時があったりします。
実は、リストの中にいるken, nayon, wonyonはそれぞれ名前と年齢の情報を持ったインスタンス変数です。
作り方はまず、名前と年齢情報を保持するPersonクラスを作ります。
そして、三人のインスタンスを名前、年齢を持たせて作ります。
そして冒頭のリスト化。
彼ら三人はインスタンスなので普通にsortすると
怒られます。
そこで、lambdaを使って並べ替えのkeyを年齢にします。
そうすると、for文で順番に取り出してみると
>>>>若さ順: 0番目 wonyon >>>>若さ順: 1番目 ken >>>>若さ順: 2番目 nayon
並べ変わっているのが確認できました。