をリストのリストを並べ替える:のpython:私は次のようにユーザーとスコアが含まれているリストのリスト持っているサブリスト内の項目で
[["user1", 100], ["user2", 234], ["user3", 131]...]
を私はスコアによってユーザーをソートし、リストを作成したいです降順:
[["user2", 234], ["user3", 131], ["user1", 100]...]
この種の並べ替えはどうすればできますか?
をリストのリストを並べ替える:のpython:私は次のようにユーザーとスコアが含まれているリストのリスト持っているサブリスト内の項目で
[["user1", 100], ["user2", 234], ["user3", 131]...]
を私はスコアによってユーザーをソートし、リストを作成したいです降順:
[["user2", 234], ["user3", 131], ["user1", 100]...]
この種の並べ替えはどうすればできますか?
>>> li = [["user1", 100], ["user2", 234], ["user3", 131]]
>>>
>>> import operator
>>>
>>> sorted(li, key=operator.itemgetter(1)) # Ascending order
[['user1', 100], ['user3', 131], ['user2', 234]]
>>> sorted(li, key=operator.itemgetter(1), reverse=True) # Reverse Sort
[['user2', 234], ['user3', 131], ['user1', 100]]
sortedオプションkey
機能とリバースパラメータを受け入れます。
>>> sorted([["user1", 100], ["user2", 234], ["user3", 131]], key=lambda x: x[1], reverse=True)
[['user2', 234], ['user3', 131], ['user1', 100]]
l = [["user1", 100], ["user2", 234], ["user3", 131]]
l.sort(lambda x, y: x[1])
はカスタムでソートの振る舞いは、キーを渡し、逆にすることができます。 sorted
は新しいリストを返します。インプレースソートが必要な場合は、list.sort
を使用します。
>>> a = [["user1", 100], ["user2", 234], ["user3", 131]]
>>> sorted(a, key=lambda x: x[1], reverse=True)
[['user2', 234], ['user3', 131], ['user1', 100]]