指定されたインデックスの要素でリスト/タプルのリスト/タプルを並べ替える方法 質問する

指定されたインデックスの要素でリスト/タプルのリスト/タプルを並べ替える方法 質問する

次のようなリストのリストまたはタプルのリストにデータがあります。

data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]

そして、サブセットの 2 番目の要素で並べ替えたいです。つまり、 が2から(1,2,3)5が からである 2,5,8 で並べ替えるということ(4,5,6)です。これを行う一般的な方法は何ですか? リストにはタプルまたはリストを保存する必要がありますか?

ベストアンサー1

sorted_by_second = sorted(data, key=lambda tup: tup[1])

または:

data.sort(key=lambda tup: tup[1])  # sorts in place

デフォルトのソートモードは昇順です。降順でソートするには、オプションを使用します。reverse=True:

sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)

または:

data.sort(key=lambda tup: tup[1], reverse=True)  # sorts in place

おすすめ記事