본문 바로가기
파이썬 공부

파이썬 집합(set) 자료형, 자주 쓰이는 필수 메서드 엄선 7가지

by 파이썬코딩대학 2024. 11. 16.

파이썬 집합 자료형: 초보 개발자를 위한 친절한 가이드

안녕하세요, 개발자 여러분! 오늘은 파이썬의 '집합(Set) 자료형'에 대해 알아보겠습니다. 집합은 수학 시간에 다들 한 번쯤 배웠던 그 '집합'과 비슷한 성격을 가지고 있어요. 중복된 요소 없이, 순서 없이 모여 있는 데이터 집합이라고 할 수 있죠. 자, 이제 파이썬에서의 집합이 어떻게 사용되는지 한 걸음씩 알아보도록 해요!

 

파이썬 집합(set) 자료형, 자주 쓰이는 필수 메서드 엄선 7가지

 

1. 파이썬 집합의 기본 개념 (중복없이, 순서없이)

파이썬의 집합은 수학에서의 집합과 아주 흡사한 역할을 합니다. 그럼에도 불구하고 프로그래밍에서는 조금 더 유용한 특성들이 있는데요, 대표적인 것이 순서가 없고 중복이 허용되지 않는다는 것입니다. 이 특성 때문에 특정 데이터의 중복을 제거하거나, 두 집합의 합집합, 교집합, 차집합 등을 매우 쉽게 구할 수 있답니다.

# 집합 생성하기
set_example = {1, 2, 3, 4, 5}
print(set_example)  # 결과: {1, 2, 3, 4, 5}

# 중복된 요소가 있는 집합
set_example_with_duplicates = {1, 2, 2, 3, 4}
print(set_example_with_duplicates)  # 결과: {1, 2, 3, 4}  중복 제거됨

2. 집합 만드는 방법

리터럴로 집합 선언하기

my_set = {1, 2, 3}
print(my_set)  # {1, 2, 3}

set() 함수를 사용하기

빈 집합을 만들 때는 set()을 사용합니다. {} 만으로는 빈 딕셔너리를 생성하기 때문에 주의하세요!

empty_set = set()
my_set_from_list = set([1, 2, 3, 3, 4])
print(my_set_from_list)  # {1, 2, 3, 4}

print(empty_set)  # set()

3. 집합의 주요 메서드 이해하기

집합은 여러 가지 흥미로운 메서드를 제공합니다. 각 메서드를 살펴보면서 어떤 시나리오에서 유용할지 생각해 보면 좋아요.

- add(): 집합에 요소 추가하기

my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # {1, 2, 3, 4}

- remove()discard(): 집합에서 요소 제거하기

my_set.remove(2)
print(my_set)  # {1, 3, 4}

my_set.discard(5)  # 5는 존재하지 않지만 오류 없음

remove()는 요소가 없을 때 오류가 발생하지만, discard()는 조용히 넘어갑니다.

- union(): 합집합 구하기

set_a = {1, 2, 3}
set_b = {3, 4, 5}
union_set = set_a.union(set_b)
print(union_set)  # {1, 2, 3, 4, 5}

- intersection(): 교집합 구하기

intersection_set = set_a.intersection(set_b)
print(intersection_set)  # {3}

- difference(): 차집합 구하기

difference_set = set_a.difference(set_b)
print(difference_set)  # {1, 2}

4. 파이썬 집합 활용 예시

집합이 가장 유용하게 사용되는 상황은 중복을 제거해야 할 때입니다. 예를 들어, 어떤 사용자 목록에서 중복되는 이름을 제거하고 싶을 때 유용하게 사용할 수 있죠.

user_list = ['Alice', 'Bob', 'Alice', 'Charlie']
unique_users = set(user_list)
print(unique_users)  # {'Alice', 'Charlie', 'Bob'}

또한, 두 개의 데이터셋이나 그룹을 비교할 때 합집합, 교집합, 차집합 기능을 활용하면 유리합니다.

5. 마무리

이것으로 파이썬의 집합에 대한 기본적인 사용법과 특징들을 살펴보았습니다. 집합은 데이터의 중복을 제거하고, 데이터 간의 관계를 쉽게 파악할 수 있도록 도와주는 강력한 도구입니다. 여러분이 프로젝트에서 데이터를 다루는 상황이 온다면, 집합을 적용해 보는 것은 어떨까요?

파이썬의 다른 자료형과 마찬가지로, 직접 코드를 작성해 보며 익숙해지는 것이 가장 좋습니다. 궁금한 점이나 더 알고 싶은 내용이 있다면 언제든지 댓글 남겨 주세요. 그럼 즐코딩 하세요! 🚀