a=[{'post': 3, 'value': 42}, {'post': 4, 'value': 12}, {'post': 12, 'value': 25}]
これをどのように並べ替えることができますか:
a=[{'post': 3, 'value': 42}, {'post': 12, 'value': 25}, {'post': 4, 'value': 12}]
逆に大切にするという意味です。
a=[{'post': 3, 'value': 42}, {'post': 4, 'value': 12}, {'post': 12, 'value': 25}]
これをどのように並べ替えることができますか:
a=[{'post': 3, 'value': 42}, {'post': 12, 'value': 25}, {'post': 4, 'value': 12}]
逆に大切にするという意味です。
key
およびreverse
引数を使用できます。
result = sorted(a, key=lambda d:d["value"], reverse=True)
key
リストの要素を指定すると、ソートが実行される値を返す関数でなければなりません。この場合、渡される関数は、与えられたディクショナリが key に関連付けられた値を返す無名関数です"value"
。
リストのソートされたコピーsorted(x)
を返すことに注意してください。リストをその場でソートしたい場合は、同じパラメータを渡してリスト オブジェクトのメソッドを呼び出すだけです。と同等ではないことにも注意してください。sort
x = sorted(x)
x.sort()
うまくいけば、醜い「ラムダ」モンスターが含まれていても、これは依然として妥当な Python と見なされます... :-)
a=[{'post': 3, 'value': 42}, {'post': 4, 'value': 12}, {'post': 12, 'value': 25}]
a.sort(key=lambda d: -d['value'])
>>> from operator import itemgetter
>>> a= [{'post': 3, 'value': 42}, {'post': 12, 'value': 25}, {'post': 4, 'value': 12}]
>>> sorted(a, key=itemgetter('value'), reverse=True)
[{'post': 3, 'value': 42}, {'post': 12, 'value': 25}, {'post': 4, 'value': 12}]