オブジェクトをリストで取得した後で、NameやLongnameなどのパラメーターを使ってソートをする方法。
myList= sorted(myList, key=lambda x: x.LongName)
myList
オブジェクトなどを複数格納しているリストの例
テキトウに作ったものを用意
sorted(
単に
sorted( myList )
としてもソートはできるが中身がオブジェクトのリストの場合何を基準にソートされるかはわからない
key=
例えば
key=int
とするとintで比較してくれるようになる
key=lambda x: x.LongName
lambdaは無名関数というものらしい
今回のキモ(読み方はわからないが俺は「ランバダ」と呼んでいる)
上記は以下のように分解できるらしい
def key ( x ):
return x.LongName
これを使うことでLongNameでソートすることができるようになる
スクリプトを効率良く書くにはlambda関数便利そうだけど
身につくまでは時間がかかりそうだ・・・
myList= sorted(myList, key=lambda x: x.LongName)
myList
オブジェクトなどを複数格納しているリストの例
テキトウに作ったものを用意
sorted(
単に
sorted( myList )
としてもソートはできるが中身がオブジェクトのリストの場合何を基準にソートされるかはわからない
key=
例えば
key=int
とするとintで比較してくれるようになる
key=lambda x: x.LongName
lambdaは無名関数というものらしい
今回のキモ(読み方はわからないが俺は「ランバダ」と呼んでいる)
上記は以下のように分解できるらしい
def key ( x ):
return x.LongName
これを使うことでLongNameでソートすることができるようになる
スクリプトを効率良く書くにはlambda関数便利そうだけど
身につくまでは時間がかかりそうだ・・・