辞書型の要素内の辞書型の要素でソート
メモしておく
data = { 'a' : { 'name' : 'anna', 'age' : 17 }, 'b' : { 'name' : 'beck', 'age' : 15 }, 'c' : { 'name' : 'cherry', 'age' : 20 }, 'd' : { 'name' : 'detteiu', 'age' : 31 } } # (1) age の昇順ソートしたい result = sorted(data.items(), key=lambda x:int(x[1]['age']), reverse=False) # (2) age の降順ソートしたい result = sorted(data.items(), key=lambda x:int(x[1]['age']), reverse=True)
(1)の結果
[ ["b", {"age": 15, "name": "beck"}], ["a", {"age": 17, "name": "anna"}], ["c", {"age": 20, "name": "cherry"}], ["d", {"age": 31, "name": "detteiu"}] ]
(2)の結果
[ ["d", {"age": 31, "name": "detteiu"}], ["c", {"age": 20, "name": "cherry"}], ["a", {"age": 17, "name": "anna"}], ["b", {"age": 15, "name": "beck"}] ]