【Python入門】Pythonのfrozenset関数とは?使い方と活用方法を徹底解説(Python 3.11)

Python

はじめに

Pythonには便利なデータ型が多数用意されており、その中でもfrozensetは不変(イミュータブル)なセット(集合)を扱うためのデータ型です。本記事では、frozenset関数の基本的な使い方から応用例まで詳しく解説します。

frozenset関数とは?

frozensetとは、Pythonの組み込み関数の一つで、変更不可なセット(集合)を作成するために使用されます。通常のsetと異なり、frozensetは要素の追加・削除ができません。この特性により、辞書のキーや集合の要素として利用することができます。

frozenset関数の基本構文

frozenset関数の基本構文は以下の通りです。

frozenset([イテラブルオブジェクト])

引数

  • イテラブルオブジェクト(リスト、タプル、セットなど):frozensetに変換したいデータ。

戻り値

  • 変更不可な集合frozensetオブジェクト)

frozenset関数の使用例

例1:リストからfrozensetを作成

# リストをfrozensetに変換
numbers = [1, 2, 3, 4, 5]
fset = frozenset(numbers)
print(fset)  # 出力: frozenset({1, 2, 3, 4, 5})

例2:setとの違い(変更不可)

# setは変更可能
mutable_set = {1, 2, 3}
mutable_set.add(4)
print(mutable_set)  # 出力: {1, 2, 3, 4}

# frozensetは変更不可
immutable_set = frozenset([1, 2, 3])
# immutable_set.add(4)  # エラー発生

frozenset関数の応用例

応用例1:辞書のキーとして使用

# frozensetを辞書のキーとして使用
key1 = frozenset(["apple", "banana"])
key2 = frozenset(["banana", "apple"])

dictionary = {key1: "fruit"}
print(dictionary[key2])  # 出力: fruit

応用例2:セットの要素として使用

# frozensetをsetの要素として使用
set_of_sets = {frozenset([1, 2, 3]), frozenset([4, 5, 6])}
print(set_of_sets)  # 出力: {frozenset({1, 2, 3}), frozenset({4, 5, 6})}

まとめ

frozensetは、通常のsetと異なり変更不可な集合を作成するための関数です。主に、

  • データの不変性を保持したい場合
  • 辞書のキーやセットの要素として利用したい場合 に活用できます。Pythonの集合演算を安全に扱うために、frozensetを活用してみましょう。