カテゴリ: Python 更新日: 2025/08/27

Pythonのセットで重複を削除する方法(set()の活用)初心者向け完全ガイド

Pythonのセットで重複を削除する方法(set()の活用)
Pythonのセットで重複を削除する方法(set()の活用)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで同じデータが何回も出てくるのを一発で消す方法ってありますか?」

先生

「Pythonではset()という機能を使えば、リストなどの中にある重複(同じ値)を簡単に削除できますよ。」

生徒

「重複ってそもそもどういう意味ですか?」

先生

「重複とは、同じ値や内容が繰り返し出てくることです。例えば、友達の名前を名簿に書いたら、同じ名前が2回入ってしまうような状態です。」

生徒

「なるほど!ではset()を使うと、それを自動で消してくれるんですね?」

先生

「そうです。それでは、set()の基本から見ていきましょう!」

-

1. Pythonのset()とは?初心者にもわかる基本

1. Pythonのset()とは?初心者にもわかる基本
1. Pythonのset()とは?初心者にもわかる基本

Python(パイソン)のset()は「集合(しゅうごう)」を作るための機能です。集合とは、数学で習った「同じものを含まないグループ」のことです。つまり、set()を使えば、自動的に同じ値が削除され、1つずつだけが残ります。

例えば、買い物リストに「りんご、みかん、りんご」と書いてあると、set()は重複している「りんご」を1つにまとめてくれます。


fruits = ["りんご", "みかん", "りんご"]
unique_fruits = set(fruits)
print(unique_fruits)

{'みかん', 'りんご'}

このように、set()を使うと重複がなくなり、スッキリとしたデータになります。

2. なぜset()で重複が削除されるのか

2. なぜset()で重複が削除されるのか
2. なぜset()で重複が削除されるのか

set()は、もともと「同じ値を持てない」というルールがあります。これは、名前の名簿や会員番号のリストのように、一人一人が必ず違う番号を持つ仕組みに似ています。そのため、同じ値が入ろうとすると、自動的に1つだけにまとめられます。

この特性を利用すると、面倒な「同じ値を探して削除する」作業を自分でしなくても済みます。

3. リストに戻す方法

3. リストに戻す方法
3. リストに戻す方法

set()を使うと、データは「集合型」という特殊な形に変わります。もし再びリストとして使いたい場合は、list()を使って変換します。


fruits = ["りんご", "みかん", "りんご"]
unique_fruits = list(set(fruits))
print(unique_fruits)

['みかん', 'りんご']

この方法を使えば、重複を削除した後も、リストとしてデータを扱えます。

4. 順番を保って重複を削除する方法

4. 順番を保って重複を削除する方法
4. 順番を保って重複を削除する方法

実はset()は順番を保証しません。そのため、元の並び順を保ちたい場合は少し工夫が必要です。以下のように、for文(繰り返し処理)を使うことで、順番を保ちながら重複を削除できます。


fruits = ["りんご", "みかん", "りんご", "バナナ"]
unique_fruits = []
for fruit in fruits:
    if fruit not in unique_fruits:
        unique_fruits.append(fruit)
print(unique_fruits)

['りんご', 'みかん', 'バナナ']
-

5. 文字列の重複を削除する応用例

5. 文字列の重複を削除する応用例
5. 文字列の重複を削除する応用例

set()はリストだけでなく、文字列の重複も削除できます。例えば「banana」という文字列から重複する文字を消すこともできます。


text = "banana"
unique_chars = set(text)
print(unique_chars)

{'a', 'n', 'b'}

ただし、この場合も順番は保証されません。順番を保ちたい場合は、先ほどのリストの方法を応用します。

6. プログラミング初心者が覚えておくべきポイント

6. プログラミング初心者が覚えておくべきポイント
6. プログラミング初心者が覚えておくべきポイント
  • set()は「重複を削除する」最も簡単な方法
  • 順番が必要な場合はリスト変換やfor文を使う
  • 文字列や数字、あらゆるデータに使える

特にデータ整理や検索機能を作るときに役立ちます。Python初心者でも、set()を覚えればデータの重複に悩まされることが少なくなります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
Pythonの定数の定義方法!初心者向けに慣習的な書き方と変更を防ぐコツを解説
PHPの関数の引数と戻り値を完全ガイド!初心者でもわかる基本の使い方
Pythonの例外発生の基本をマスター!初心者でもわかるraise文の使い方ガイド
Pythonでタプルの要素数を取得する方法(len()の使い方)初心者でもわかる数え方の基本
人気記事
No.1
PHP&Python記事人気No1
Pythonの例外処理をやさしく解説!初心者でもわかるtry-exceptの基本と使い方
No.2
PHP&Python記事人気No2
PHPでJSONデータを扱う方法をやさしく解説!初心者でもわかるjson_encodeとjson_decode
No.3
PHP&Python記事人気No3
Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
No.4
PHP&Python記事人気No4
PHPのデフォルト引数の設定方法をやさしく解説!初心者でも安心の入門ガイド
-