logo

Python でタプルをソートする方法

タプルは、複数のオブジェクトを 1 か所に保存できる変数のデータ型の一種です。タプルは、順序付けされた不変 (タプル内の要素を更新できない) 項目のコレクションです。要素を格納するための 4 つの組み込み Python データ構造があり、そのうちの 1 つはタプル、その他は List、Dictionary、Set であり、それぞれ独自のプロパティ セットと使用法があります。それらは丸括弧内に書かれています。

Python でのタプルのソート

sort() の使用

sort() メソッドは、リストの要素を昇順で並べ替えるのによく使用され、デフォルトでは最初の要素が並べ替えられます。まずタプルをリストに変換してからこの関数を適用することで、タプルを並べ替えることができます。この関数はリストを適切にソートし、None を返します。

入力

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

出力:

 ('Itika', 'Arshia', 'Peter', 'Parker') 

ソート()の使用

Python では、sorted() 組み込み関数を使用してタプルを並べ替えます。タプルは、sorted() 関数に引数として渡す必要があります。タプル項目は、関数によって返されるリスト内で (デフォルトで) 昇順にソートされます。タプルを使用して、このリストのデータ型をタプル () に変換できます。

sorted() 関数の逆パラメータでも並べ替え順序を指定できます。昇順がデフォルトの並べ替え順序です。 reverse=True が設定されている場合、項目は降順にソートされます。戻り値を項目の並べ替えに使用するキー関数を指定することもできます。次のプログラムでは、整数値を持つタプル tuple_ を取得し、昇順に並べ替えます。

Java多態性

入力

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

出力:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

ここで、同じ関数を使用してタプルを降順にソートしています。 reverse=True をsorted()関数に渡して、タプルを降順にソートします。

入力

Linuxアーキテクチャ
 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

出力:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

キー関数に基づいてタプルをソートする

キーは、値を取得して値を返す関数です。タプル内の各項目に対して、このキー関数が適用され、戻り値を比較して項目を並べ替えます。次のプログラムでは、文字列の長さに基づいて文字列のタプルを並べ替えます。この場合、組み込み関数 len() をキーとして使用できます。

入力

 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

出力:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

タプルのリストのソート

ソート()の使用

Python でタプルを使用してリストを並べ替える方法を見てみましょう。次のシナリオを考えてみましょう。タプルのリストを並べ替えたいと考えています。与えられたキーに従ってタプルをソートする必要があります。これは、sorted() 関数を使用して実現できます。この関数は、キーを使用して項目を並べ替え、指定されたタプルを並べ替えるためのキー インデックスを保存します。このアプローチの Python 実行は次のとおりです。

入力

 # Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_)) 

出力:

 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

バブルソートの使用

バブル ソートは、任意の数の要素のリストを並べ替えるための単なる並べ替えアルゴリズムです。指定されたリスト内の隣接する項目の順序が間違っている場合は、それらを入れ替えます。すべての要素が並べ替えられるまで、このプロセスが繰り返されます。

この例では、バブル ソート アルゴリズムを使用してタプルのリストをソートします。

入力

 roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll) 

出力:

PowerShell コメント複数行
 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]