CodeGym /행동 /Python SELF KO /변경할 수 없는 집합 — frozenset

변경할 수 없는 집합 — frozenset

Python SELF KO
레벨 10 , 레슨 6
사용 가능

8.1 set-튜플

컬렉션 frozenset변경할 수 없는 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