CodeGym /コース /Python SELF JA /不変集合 — frozenset

不変集合 — frozenset

Python SELF JA
レベル 10 , レッスン 6
使用可能

8.1 setタプル

コレクション frozenset不変の set のアナログです。これによりすべてのsetの機能を利用できるけど、 要素を作成後に変更することができません。frozenset はユニークな要素を保存し、 セットが変更されないことを保証したい場合に便利です。

frozensetの作成

frozensetを作成するには、frozenset()関数を使用して、 イテラブルなオブジェクト(リスト、タプル、文字列など)を渡します。

例:

リストからfrozensetを作成


# リストからfrozensetを作成
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # 出力: frozenset({1, 2, 3, 4})

文字列からfrozensetを作成


# 文字列からfrozensetを作成
fset2 = frozenset("hello")
print(fset2)  # 出力: frozenset({'h', 'e', 'l', 'o'})

空のfrozensetを作成


# 空のfrozensetを作成
fset3 = frozenset()
print(fset3)  # 出力: frozenset()
        

8.2 frozensetの主要なメソッド

frozenset は可変集合 (set) で利用可能なほとんどのメソッドをサポートしていますが、 不変であるため、集合を変更するメソッドは使用できません。

例:

集合の結合 (union)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# 集合の結合 (union)
print(fset1 | fset2)  # 出力: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # 出力: frozenset({1, 2, 3, 4, 5, 6})
        

集合の共通部分 (intersection)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# 集合の共通部分 (intersection)
print(fset1 & fset2)  # 出力: frozenset({3, 4})
print(fset1.intersection(fset2))  # 出力: frozenset({3, 4})
        

集合の差 (difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# 集合の差 (difference) 
print(fset1 - fset2)  # 出力: frozenset({1, 2})
print(fset1.difference(fset2))  # 出力: frozenset({1, 2})
        

対称差 (symmetric difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# 対称差 (symmetric difference)
print(fset1 ^ fset2)  # 出力: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # 出力: frozenset({1, 2, 5, 6})
        

8.3 frozensetの適用

frozensetは次のような状況で便利です:

辞書でキーとして使用:

frozenset は不変なので、辞書でキーとして使うことができます。


fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
        
d = {fset1: "first", fset2: "second"}
print(d)  # 出力: {frozenset({1, 2, 3}): 'first', frozenset({3, 4, 5}): 'second'}
    

不変の集合を保存:

ユニークな要素の集合を作成して、後で変更しない必要がある場合、frozensetは素晴らしい選択です。

データの安全性:

frozensetを使うことで、プログラムの実行中にデータが誤って変更されないことを保証できます。

1
Опрос
文字列の操作,  10 уровень,  6 лекция
недоступен
文字列の操作
文字列の操作
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION