[Python] Understanding and Using Sets in Python

반응형

파이썬의 set은 중복된 값을 허용하지 않는, 순서가 없는 컬렉션 자료형입니다.

이러한 특성으로 인해 set은 데이터 처리 작업에서 유용하게 사용되며, 집합 연산을 수행하는 데에도 적합합니다.

이 글에서는 set의 기본적인 초기화 방법부터 다양한 집합 연산 및 관련 함수에 대해 알아보겠습니다.

1. 초기화

set을 초기화하는 방법은 여러 가지가 있습니다:

# 빈 set 초기화
empty_set = set()

# 리스트를 사용한 초기화
fruits = set(["apple", "banana", "cherry"])

# 중복된 값이 있는 리스트를 사용한 초기화
numbers = set([1, 2, 2, 3, 4, 4, 5])  # 결과: {1, 2, 3, 4, 5}

 

 

2. 집합 자료형 관련 함수

add()

원소 하나를 추가합니다.

fruits = {"apple", "banana"}
fruits.add("cherry")
print(fruits)  # 결과: {'apple', 'banana', 'cherry'}

update()

여러 원소를 추가합니다. 리스트, 튜플, 문자열 등의 반복 가능한 객체를 입력으로 받습니다.

fruits = {"apple", "banana"}
fruits.update(["cherry", "grape"])
print(fruits)  # 결과: {'apple', 'banana', 'cherry', 'grape'}

remove()

원소를 제거합니다. 만약 해당 원소가 집합에 없으면 KeyError를 발생시킵니다.

fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits)  # 결과: {'apple', 'cherry'}

 

 

3. 집합 연산

교집합

set의 교집합을 구하는 방법은 다음과 같습니다:

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}


intersection = A & B
print(intersection)  # 결과: {3, 4}

합집합

set의 합집합을 구하는 방법은 다음과 같습니다:

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}


union = A | B
print(union)  # 결과: {1, 2, 3, 4, 5, 6}

차집합

set의 차집합을 구하는 방법은 다음과 같습니다:

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}


difference = A - B
print(difference)  # 결과: {1, 2}