2016-08-05 4 views
0

私は主にstarttimeでソートしたいソートリスト

tempdata = {'logs': [ 
    {'starttime':'901', 
    'time':'5' 
    }, 
    {'starttime':'902', 
    'time':'3' 
    }, 
    {'starttime':'900', 
    'time':'2' 
    },  
    {'starttime':'901', 
    'time':'2' 
    }, 
    {'starttime':'905', 
    'time':'1' 
    }, 
    {'starttime':'904', 
    'time':'1' 
    } 
] 
} 

次のdictを持っています。私は完璧にやっています:

tempdata['logs'] = sorted(tempdata['logs'],key=lambda k: k['starttime']) 

しかし今、私は時間別に並べ替えたいと思います。

予想される出力:

tempdata = {'logs': [ 
    {'starttime':'900', 
    'time':'2' 
    }, 
    {'starttime':'901', 
    'time':'2' 
    }, 
    {'starttime':'901', 
    'time':'5' 
    }, 
    {'starttime':'902', 
    'time':'3' 
    }, 
    {'starttime':'904', 
    'time':'1' 
    }, 
    {'starttime':'905', 
    'time':'1' 
    } 
] 
} 

どのように私はこのタスクを達成することができますか?私はソートされた()を見上げて、私が探しているものを見つけることができません。彼らはこのようなキーとしてタプルを使用

+0

ありがとう@マフィー私はそれを見つけることができませんでした、それは完璧です!私はこの質問をここに残しておきます。私の人はdicts/listsを参照し、もう一つはリスト/タプルを参照しています。 – Islarf

答えて

2

分類:

tempdata['logs'] = sorted(tempdata['logs'], 
          key=lambda k: (k['starttime'], k['time'])) 

タプルは、順番に各要素によって比較されます。

このようにして、値は数値ではなく文字列として比較されます。それがあなたにとって重要かどうかは分かりません。