【Python入門】set型(集合型)の使い方

Pythonにおけるネストされた辞書(辞書の中に辞書)の使い方について詳しく解説します。

set型(集合型)とは

Pythonの set 型は「重複を許さないデータの集まり」を扱うための型です。
リストや辞書と違い、順序がなく、同じ値を複数入れることができないという特徴があります。


🧪 set型の主な特徴

特徴 説明
重複なし 同じ値は1つにまとめられる
順序なし インデックスでアクセスできない
高速な検索 in 演算子での存在確認が高速
集合演算ができる 和・差・積などの演算が可能

以下コードのように、set 型は中括弧 {} を使って作成します。辞書と似てますが、キーと値がありません。

# 勇者ぴこりの持ち物袋(重複禁止)
pikori_items = {"回復薬", "鉄の剣", "回復薬", "魔法の書"}

# 中身を表示
print("勇者ぴこりの持ち物:", pikori_items)
勇者ぴこりの持ち物: {‘鉄の剣’, ‘回復薬’, ‘魔法の書’}

実行結果のとおり、重複した "回復薬" は1つにまとめられます**。また、順序は保証されないため、表示順は毎回変わることがあります


🔍 要素の追加・削除

pikori_items = {"回復薬", "鉄の剣"}

# アイテム追加
pikori_items.add("魔法の書")

# アイテム削除
pikori_items.remove("鉄の剣")

print(pikori_items)

📝 出力例:

{'魔法の書', '回復薬'}

⚔️ 集合演算(他の勇者との持ち物比較)

pikori_items = {"回復薬", "鉄の剣", "魔法の書"}
luna_items = {"回復薬", "氷の杖", "魔法の書"}

# 共通アイテム(積集合)
print(pikori_items & luna_items)

# どちらかが持っているアイテム(和集合)
print(pikori_items | luna_items)

# ぴこりだけが持っているアイテム(差集合)
print(pikori_items - luna_items)

📝 出力例:

{'回復薬', '魔法の書'}
{'鉄の剣', '氷の杖', '回復薬', '魔法の書'}
{'鉄の剣'}

🧠 よくある注意点

  • 空の set を作るときは set() を使う({} は辞書になる)
  • 順序がないため、set[0] のようなアクセスはできない
  • リストやタプルに変換すれば順序付きで扱える
items = {"回復薬", "鉄の剣"}
print(list(items))  # → ['鉄の剣', '回復薬'](順序は不定)

🎓 まとめ

操作 方法
定義 set型 = {"値1", "値2"}
追加 .add("値")
削除 .remove("値")
存在確認 "値" in set型
集合演算 &, |, - など

このset型は、重複を排除したいときや、アイテムの比較・分類にとても便利です。
ぴこりの冒険でも、持ち物の管理やスキルの重複チェックなどに活用できますよ🧝‍♂️✨

次は「setとlistの変換」や「setを使ったフィルタ処理」など、実践的な応用に進めてもOKです!

関連ページ(もっと学びたい人へ)

辞書型の使い方については、以下ページで詳しく学ぶことができます。

【Python】辞書型(連想配列)の使い方を徹底解説(試験対策問題あり)
Pythonの辞書型(連想配列)の使い方について入門者向けに解説します。

Pythonの基礎から応用例まで、以下ページから学ぶことができます。

【Python超入門】基礎から応用例まで幅広く解説
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。
この記事を書いた人
西住技研

プログラミング言語「Python」を研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
筆者の詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする