タプルのリストを2番目の項目(整数値)でソートする [重複] 質問する

タプルのリストを2番目の項目(整数値)でソートする [重複] 質問する

次のようなタプルのリストがあります:

[('abc', 121),('abc', 231),('abc', 148), ('abc',221)]

このリストをタプル内の整数値の昇順で並べ替えたいのですが、可能ですか?

ベストアンサー1

keyのキーワード引数を使用してみてくださいsorted()。デフォルトでは昇順でソートされます。

sorted(
    [('abc', 121), ('abc', 231), ('abc', 148), ('abc', 221)], 
    key=lambda x: x[1]
)

keyは、データ構造から比較可能な要素を取得する方法を識別する関数である必要があります。この場合、それはタプルの 2 番目の要素なので、 にアクセスします[1]

最適化については、 を使用した jamylak の回答を参照してくださいoperator.itemgetter(1)。これは基本的に の高速バージョンですlambda x: x[1]

おすすめ記事