Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでタプルのリストを特定の順序で並べ替える方法【sortedメソッド活用】

タプルのリストを特定の順序で並べ替えたい場合、Pythonの組み込み関数である「sorted」メソッドを使用すると簡単に実現できます。

「sorted」メソッドは、リストの要素をソートするために使われる関数です。「key」引数を指定することで、どの要素を基準に並べ替えるかを柔軟に制御できるのが特徴です。

なお、リストは整数・浮動小数点数・文字列など、さまざまなデータ型の値を格納できるデータ構造です。タプルのリストとは、リストの中に複数のタプルが含まれている形式のことを指します。

以下に具体的な使用例を示します。

サンプルコード

def tuple_sort(my_tup):
   return(sorted(my_tup, key=lambda x: x[1]))

my_tuple = [('Mahe', 11), ('Aisha', 33), ('Will', 50), ('Root', 65)]

print("The list of tuple is : ")
print(my_tuple)
print("The tuple after placing in a specific order is : ")
print(tuple_sort(my_tuple))

実行結果

The list of tuple is :
[('Mahe', 11), ('Aisha', 33), ('Will', 50), ('Root', 65)]
The tuple after placing in a specific order is :
[('Mahe', 11), ('Aisha', 33), ('Will', 50), ('Root', 65)]

コードの解説

  • 'tuple_sort'という名前の関数を定義し、タプルのリストを引数として受け取ります。
  • 'sorted'メソッドを使い、「key=lambda x: x[1]」を指定することで、各タプルの2番目の要素(インデックス1)を基準にリストを昇順にソートします。
  • タプルのリストを定義し、コンソールに表示します。
  • 定義したタプルのリストを引数として渡して関数を呼び出します。
  • 処理結果は戻り値として返され、コンソールに出力されます。

ポイント解説

このコードで最も重要なのは「key=lambda x: x[1]」の部分です。lambda式によって、各タプルからインデックス1(2番目の要素)を取り出し、それをソートの基準としています。今回の例では数値がすでに昇順に並んでいるため、出力結果は元の順序と同じになっています。

もし名前(1番目の要素)を基準に並べ替えたい場合は、「key=lambda x: x[0]」と指定を変更するだけで対応できます。

# 名前(1番目の要素)を基準にソート
sorted(my_tuple, key=lambda x: x[0])

# 降順でソートしたい場合は reverse=True を追加
sorted(my_tuple, key=lambda x: x[1], reverse=True)

このように「sorted」メソッドとlambda式を組み合わせれば、タプルのリストを任意の要素・任意の順序で自由に並べ替えることができます。データの集計やランキング処理など、実務でも頻繁に使われるテクニックなので、ぜひ覚えておきましょう。

  1. Pythonでリストの要素に基づいてタプルをフィルタリングする方法

    リスト内に存在する要素に基づいてタプルをフィルタリングしたい場合、リスト内包表記を使うと簡潔に実現できます。Pythonのリストは、整数・浮動小数点数・文字列など、さまざまなデータ型の値(異種の値)をひとつのリストに格納できる柔軟なデータ構造です。「タプルのリスト」とは、リストの中に複数のタプルが格納された構造のことを指します。リスト内包表記は、リストを反復処理しながら操作を行うための省略記法であり、可読性の高いコードを短く書くことができます。以下に具体的な実装例を示します。サンプルコードmy_list = [(11, 14), (54, 56, 87), (98, 0, 10), (13,

  2. Pythonでタプルのリストから組み合わせごとの合計を求める方法

    タプルのリストに含まれるタプル同士の組み合わせごとに合計を求めたい場合、itertoolsモジュールの「combinations」メソッドとリスト内包表記を組み合わせることで、簡潔に実現できます。 combinationsメソッドとは 「combinations」メソッドは、入力として渡されたイテラブル(反復可能オブジェクト)から、指定した長さ「r」の部分列をすべて返します。生成される組み合わせは辞書順(レキシコグラフィック順)に並べられ、ソートされた状態で表示されるのが特徴です。 なお、Pythonのリストは整数、浮動小数点数、文字列など、異なるデータ型の値(異種の値)を自由に格納できる柔軟