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

Pythonでタプルのリストから重複要素を削除する方法

Pythonでタプルのリストから重複する要素を削除したい場合、リスト内包表記set(集合)を組み合わせるのが簡単で効果的な方法です。

まず前提として、リストは整数・浮動小数点数・文字列など、異なるデータ型の値を混在させて格納できる柔軟なデータ構造です。また、「タプルのリスト」とは、リストの中に複数のタプルが格納されたデータ構造のことを指します。

リスト内包表記は、リストを反復処理しながら操作を行うための簡潔な記法であり、コードを短く読みやすくできるのが特徴です。

サンプルコード

my_list_1 = [(11, 14), (0, 78), (33, 11), (0, 78)]

print("The list of tuple is : ")
print(my_list_1)

my_unique_list = list(set([i for i in my_list_1]))

print("The list of tuples after removing duplicates is :")
print(my_unique_list)

実行結果

The list of tuple is :
[(11, 14), (0, 78), (33, 11), (0, 78)]
The list of tuples after removing duplicates is :
[(33, 11), (11, 14), (0, 78)]

コードの解説

  • 重複を含むタプルのリストを定義し、コンソールに表示します。
  • リスト内包表記で各要素を取り出し、set()によって集合に変換します。
  • 集合は重複した値を持てないため、この時点で一意の要素のみが残ります。
  • list()を使って再びリスト形式に戻します。
  • 結果を変数に代入し、コンソールに出力します。

注意点

setは要素の順序を保持しないため、変換後のリストでは元の順序が崩れる可能性があります。元の順序を維持したい場合は、以下のようにdict.fromkeys()を利用する方法も有効です。

my_unique_list = list(dict.fromkeys(my_list_1))

この方法なら、重複を削除しつつ最初に出現した順序を保ったままリストを取得できます。用途に応じて使い分けるとよいでしょう。

  1. 【Python入門】リスト・タプル・辞書の違いを徹底解説

    Pythonの3大コレクション:リスト、タプル、辞書 Pythonには複数のデータをまとめて扱うためのコレクション型が用意されています。中でもよく使われるのがリスト(list)、タプル(tuple)、辞書(dict)の3つです。それぞれ特徴が異なるため、用途に応じて使い分けることが重要です。 基本的な違いの概要 リストとタプルはシーケンス(順序付き)オブジェクトであり、要素を順番に並べて管理します。一方、辞書はキーと値のペアを格納するハッシュテーブル構造です。 リストとタプルは「順序を持つコレクション」ですが、辞書は「順序を持たないコレクション」として扱われます。 リストと辞書はミュータブ

  2. Pythonで文字列やリストからタプルを作成する方法をわかりやすく解説

    tuple()関数の基本的な使い方Pythonには、さまざまなオブジェクトをタプルに変換できる組み込み関数 tuple() が用意されています。この関数を使うことで、文字列を個々の文字からなるタプルに変換したり、リストオブジェクトをそのままタプルに変換したりできます。ここでは、それぞれの具体的な使い方を見ていきましょう。1. 文字列をタプルに変換する文字列を tuple() の引数として渡すと、各文字が1つの要素となったタプルが返されます。>>> tuple(TutorialsPoint) (T, u, t, o, r, i, a, l, s, P, o, i, n, t)こ