Pythonには、データを格納するためのさまざまなデータ型があります。その中でも、set
とfrozenset
は特にユニークな性質を持っています。これらは、それぞれ可変と不変の集合を表現します。
setとは
set
は、Pythonの組み込みデータ型で、ユニークな要素のコレクションを表現します。set
は可変であり、要素の追加や削除が可能です。
s = set([1, 2, 3])
s.add(4)
print(s) # {1, 2, 3, 4}
s.remove(1)
print(s) # {2, 3, 4}
frozensetとは
一方、frozenset
はset
のイミュータブル(不変)版です。一度作成されたfrozenset
の要素は変更できません。これにより、frozenset
は辞書のキーとして使用したり、他のset
に要素として格納することが可能です。
fs = frozenset([1, 2, 3])
print(fs) # frozenset({1, 2, 3})
frozenset
には要素を追加するadd
メソッドや要素を削除するremove
メソッドは存在しません。しかし、集合演算は可能で、これにより新たなfrozenset
を作成することができます。
fs1 = frozenset([1, 2, 3])
fs2 = frozenset([3, 4, 5])
fs_union = fs1.union(fs2)
print(fs_union) # frozenset({1, 2, 3, 4, 5})
以上が、Pythonのset
とfrozenset
についての基本的な説明です。これらのデータ型を理解し、適切に使用することで、Pythonプログラミングがより効率的かつ効果的になります。