![[python] 집합(set)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpRcVQ%2FbtsIrKlUTF2%2FMzIOKlqNBOXcVOIABXmngK%2Fimg.png)
[python] 집합(set)파이썬(python)/나도코딩2024. 7. 7. 22:51
Table of Contents
728x90
집합(set)이란?
파이썬에서 집합(set)은 수학의 집합 개념을 구현한 자료형으로, 중복을 허용하지 않으며 순서가 없습니다.
집합은 중괄호 {}
를 사용하여 정의하거나 set()
함수를 사용하여 생성할 수 있습니다.

집합의 생성 및 기본 연산
집합을 생성하고 기본 연산을 사용하는 방법을 알아보겠습니다.
# 집합 생성
my_set = {1, 2, 3, 3, 4, 4}
print(my_set) # 중복된 값은 한 번만 저장됨
# set() 함수를 사용한 집합 생성
my_set = set([1, 2, 3, 3, 4, 4])
print(my_set)
출력 결과:
{1, 2, 3, 4}
{1, 2, 3, 4}
집합에 값 추가 및 제거
집합에 값을 추가하거나 제거하는 방법을 알아보겠습니다.
my_set = {1, 2, 3}
# 값 추가
my_set.add(4)
# 값 여러 개 추가
my_set.update([5, 6, 7])
print(my_set)
# 값 제거
my_set.remove(3)
print(my_set)
# 값 없을 때 값 제거 (유라 발생하지 않음)
my_set.discard(8)
print(my_set)
출력 결과:
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6, 7}
{1, 2, 4, 5, 6, 7}
{1, 2, 4, 5, 6, 7}
집합의 연산
집합은 합집합
, 교집합
, 차집합
등의 연산을 지원합니다.
집합 | 합집합 | 교집합 | 차집합 | 대칭 차집합 |
---|---|---|---|---|
밴다이어그램 | ![]() |
![]() |
![]() |
![]() |
연산자 | set1 | set2 | set1 & set2 | set1 - set2 | set1 ^ set2 |
함수 | set1.union(set2) | set1.intersection(set2) | set1.difference(set2) | set1.symmetric_difference(set2) |
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 합집합
print(set1 | set2)
print(set1.union(set2))
# 교집합
print(set1 & set2)
print(set1.intersection(set2))
# 차집합
print(set1 - set2)
print(set1.difference(set2))
# 대칭 차집합
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
출력 결과:
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
{4, 5}
{4, 5}
{1, 2, 3}
{1, 2, 3}
{1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}
집합의 기타 메소드
집합은 몇 가지 유용한 메소드를 제공합니다.
my_set = {1, 2, 3, 4, 5}
# 길이 구하기
print(len(my_set))
# 값 포함 여부 확인
print(1 in my_set) # True
print(7 in my_set) # False
# 모든 값 제거
my_set.clear()
print(my_set)
출력 결과:
5
True
False
set()
집합의 활용 예시
집합은 주로 데이터의 중복을 제거하거나 두 데이터셋 간의 중복 또는 차이를 찾을 때 유용합니다.
# 리스트에서 중복 제거
my_list = [1, 2, 2, 3, 3, 4, 4, 5]
my_set = set(my_list)
print(my_set) # {1, 2, 3, 4, 5}
# 두 리스트의 교집합 구하기
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
intersection = set1 & set2
print(intersection) # {4, 5}
출력 결과:
{1, 2, 3, 4, 5}
{4, 5}
'파이썬(python) > 나도코딩' 카테고리의 다른 글
[python] 튜플(tuple) (0) | 2024.07.06 |
---|---|
[python] 사전(dictionary) (0) | 2024.07.06 |
[python] 리스트(list) (0) | 2024.07.06 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!