sortedってあったんだ

またツーリング行きたい!


dictionaryが入ったリストを、dict要素でソートしたかったんでヘコヘコ関数書いてたら、書き終わってからsortedってのがあるのを知った。1行で済むんじゃん。。がっくし

新しいもの覚え中の時って楽しいけれど、資料読み切ってないとかで関数の存在を知らず、あとで二度手間だったのに気づいたときはちょっと無念。
以下メモ的に。

import operator

## dictionary : itemgetter sample
dict = [{'score': 2, 'name': 'foo'},
        {'score': 1, 'name': 'bar'},
        {'score': 3, 'name': 'hoge'}]
dict = sorted(dict, key=operator.itemgetter('score'),reverse=True)

## object : attrgetter sample
class Fuga:
    def __init__(self, val):
        self.val = val

import random
objs = [Fuga(random.randint(0,10)) for x in range(5)]
objs = sorted(objs, key=operator.attrgetter('val'),reverse=True)