1

私は次のようなデータ構造を持っています:

[ ["id1", 123], ["id2", 1], ["id3", 6] ]

そして、次のように、2番目の変数に従って(降順で)順序付けたいと思います。

[ ["id1", 123], ["id3", 6], ["id2", 1] ]

それを行うための小さな関数を書くことはできますが、それを行うためのクールなワンライナーの方法があるとほぼ確信していますね。ありがとう。

4

1 に答える 1

7

sortedとを使用してそれを行うことができますitemgetter

>>> a = [ ["id1", 123], ["id2", 1], ["id3", 6] ]
>>> from operator import itemgetter
>>> sorted(a, key=itemgetter(1), reverse=True)
[['id1', 123], ['id3', 6], ['id2', 1]]

純粋にワンライナー(インポートなし)が必要な場合は、次のことができlambdaます。

>>> sorted(a, key=lambda L: L[1], reverse=True)
于 2013-02-19T12:36:45.150 に答える