【python】listをuniqueにする方法【重複要素の削除】

python

pythonでlistをuniqueにする方法を調べる人

pythonでlistの重複要素を削除したい人
「pythonでlistの重複要素を削除したいのですが、どのように記述すればいいでしょう。具体的な例として、コピペできるソースコードも欲しいです。」

こんな疑問を解決します。

本記事の内容

  • 1.pythonでlistの重複要素を削除する
  • 2.listのlistはsetに変換できない
  • 3.listのlist内の各要素に対して重複を削除する
  • 4.データ構造をsetからlistに戻す
  • 5.重複削除後、要素の順序を引き継ぐ

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、listをuniqueにする方法を解説します。set関数を用いて、データ構造をlistからsetに変換する方法を紹介します。

具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。
す。

1.pythonでlistの重複要素を削除する

構文

簡単な例

listをsetに変換することで重複要素を削除することができます。これは、setが要素の重複を許さないデータ構造だからです。

 

2.listのlist(入れ子)はsetに変換できない

listのlistはsetに変換できない

setに変換しようとすると、以下のようにエラーになってしまいます。

 

代替策

listのlistをtupleのlistに変換してからsetに変換します

3.listのlist内の各要素に対して重複を削除する

listのlist内の各要素に対して重複を削除するには、二重のlist構造のうちの内側のlist構造を排除(flatten)してからsetに変換します

4.データ構造をsetからlistに戻す

重複を削除したら、データ構造をsetからlistに戻すことも可能です。list関数を用いてlistに変換します。

今回は以上です。listから重複要素を削除する方法を解説しました。参考になりましたら幸いです。