目次
はじめに
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
を活用してみましょう。