Python – タプルのリストから一意な値を持つタプルをフィルタリングする方法
はじめに
Pythonでは、タプルのリストの中から一意な値(重複のない要素)を持つタプルだけを抽出したいケースがあります。このような場合、組み込みの「list」と「set」を組み合わせることで、非常にシンプルにフィルタリングを実現できます。
サンプルコード
以下に具体的な実装例を示します。
my_list = [(42, 51), (46, 71), (14, 25), (26, 91), (56, 0), (11, 1), (99,102)]
print("The list of tuple is :")
print(my_list)
my_list.sort()
print("The list after sorting is :")
print(my_list)
my_result = list(set(my_list))
print("The result is :")
print(my_result)実行結果
The list of tuple is : [(42, 51), (46, 71), (14, 25), (26, 91), (56, 0), (11, 1), (99, 102)] The list after sorting is : [(11, 1), (14, 25), (26, 91), (42, 51), (46, 71), (56, 0), (99, 102)] The result is : [(11, 1), (26, 91), (42, 51), (46, 71), (56, 0), (14, 25), (99, 102)]
コードの解説
整数のタプルからなるリストを定義し、コンソールに表示します。
「sort()」メソッドを使ってリストを昇順にソートし、その結果をコンソールに表示します。
重複を除去して一意な値を取得するため、リストを「set()」でセットに変換した後、再び「list()」でリストに戻します。
最終的な結果は変数「my_result」に代入されます。
この結果がコンソールに出力されます。
注意点:セットは順序を保持しない
セット(set)は要素の順序を保持しないという特性があるため、「set()」で変換してから「list()」に戻すと、ソート後の順序とは異なる順序で出力されることがあります。上記の実行結果でも、ソート済みのリストと最終結果の出力順が一致していないのが確認できます。
もし元の順序を維持したまま重複を除去したい場合は、「dict.fromkeys()」を利用するか、順序を考慮したループ処理で重複チェックを行う方法を検討するとよいでしょう。
-
【Python入門】リストから一意の値(重複しない要素)だけを抽出して出力する方法
リストが与えられたとき、その中から重複を除いた一意の値(ユニークな要素)だけを取り出して表示するのが、この記事の目的です。Pythonを使えば、初心者でも簡単に実装できる定番の処理なので、ぜひマスターしておきましょう。実行例入力:A = [1, 2, 3, 4, 2, 1, 9] 出力:[1, 2, 3, 4, 9]リスト内に同じ値が複数回現れていても、出力されるのはそれぞれ1回だけです。アルゴリズムステップ1:ユーザーからリストを入力として受け取る。 ステップ2:空のリストを作成する。 ステップ3:元のリストの全要素を順番に走査する。 ステップ4:その要素がすでに一意のリストに存在するかどう
-
Pythonでリストを出力する方法|インデックスの基本から実践的な出力テクニックまで
Pythonのリストとは? Pythonのリスト(list)は、複数の要素をひとつにまとめて管理できるデータ型です。リスト内の各要素は順序を持って格納されており、それぞれの位置(インデックス)を指定することで、任意の要素にアクセスできます。 インデックスは0から始まる リストのインデックスは0から始まる点に注意が必要です。つまり、最初の要素が list[0]、2番目の要素が list[1]、3番目の要素が list[2] に対応します。 例えば、以下のようなリストを考えてみましょう。 numbers = [10, 20, 50, 40] print(numbers[2]) # 出力結果:5