PHpullh

PYTHON · 기초 문법

세트 연산

set의 집합 연산으로 교집합, 합집합, 차집합, 대칭차를 효율적으로 수행합니다.

기초 문법중급set세트집합교집합합집합

핵심 설명

set의 집합 연산으로 교집합, 합집합, 차집합, 대칭차를 효율적으로 수행합니다.

Python code

a = {1, 2, 3, 4, 5}
b = {4, 5, 6, 7, 8}

# 기본 집합 연산
print(a & b)   # 교집합: {4, 5}
print(a | b)   # 합집합: {1, 2, 3, 4, 5, 6, 7, 8}
print(a - b)   # 차집합: {1, 2, 3}
print(a ^ b)   # 대칭차: {1, 2, 3, 6, 7, 8}

# 부분집합 / 상위집합
small = {1, 2}
print(small <= a)      # True (부분집합)
print(a >= small)      # True (상위집합)
print(a.isdisjoint(b)) # False (교집합 존재)

# 세트 컴프리헨션
text = "hello world"
unique_vowels = {c for c in text if c in "aeiou"}
print(unique_vowels)  # {'e', 'o'}

# 변경 가능 연산
a.add(10)
a.discard(99)   # 없어도 에러 안 남
a.update([20, 30])
print(a)

학습 팁

discard()는 없는 원소를 제거해도 에러가 발생하지 않지만, remove()KeyError를 발생시킵니다.

주의할 점

빈 세트는 set()으로 만들어야 합니다. {}는 빈 딕셔너리입니다.

자주 묻는 질문

세트 연산란 무엇인가요?

set 의 집합 연산으로 교집합, 합집합, 차집합, 대칭차를 효율적으로 수행합니다.

세트 연산 학습 시 주의할 점은 무엇인가요?

빈 세트는 set() 으로 만들어야 합니다. {} 는 빈 딕셔너리입니다.