
구글 코랩이나 주피터 노트북에서 직접 작성하며 풀어보세요.
집합 자료형은 중고등학교 때 배웠던 그 집합을 말하는 게 맞다.
집합 자료형은 set함수를 사용해서 만들 수 있고,
표현은 중괄호로 한다.
예시)
a = set([1, 2, 3])
print(a)
{1, 2, 3}
set함수가 리스트 1, 2, 3을 집합화해서
결과 값으로 집합 형태인 {1, 2, 3}이 나왔다.
그림으로 표현해보면 이렇다.

딕셔너리 자료형과의 공통점
딕셔너리 자료형과의 차이점
집합 자료형은 중복을 허용하지 않는다는 것의 예시
a = set("Hello")
print(a)
{'o', 'l', 'H', 'e'}
중복된 l은 삭제된 걸 확인할 수 있다.
& 키를 사용해서 교집합을 구할 수 있다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 & s2)
{4, 5, 6}
| 키를 사용해서 교집합을 구할 수 있다.
이 키는 원화 단위 키 위에 있어서 shift + \를 누르면 된다.
맥의 경우는 역슬래쉬 키를 shift 누르고 누르면 된다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 | s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
뺄셈 기호로 차집합을 구할 수 있다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 - s2)
{1, 2, 3}
집합 원소 하나를 추가하는 함수다.
a = set([1, 2, 3)
a.add(4)
print(a)
{1, 2, 3, 4}
집합 원소 여러 개를 추가하는 함수다.
a = set([1, 2, 3)
a.update([4, 5, 6])
print(a)
{1, 2, 3, 4, 5, 6}
특정 집합 원소를 삭제하는 함수다.
a = set([1, 2, 3)
a.remove(2)
print(a)
{1, 3}
합집합을 구하는 함수다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1.union(s2))
{1, 2, 3, 4, 5, 6, 7, 8, 9}
그냥 &을 사용하는 게 더 편하다.
교집합을 구하는 함수다.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1.intersection(s2))
{4, 5, 6}
그냥 |를 사용하는 게 더 편하다.
변수 안에 특정 값이 있는지 확인할 때 사용한다.
a = set([1, 2, 3, 4, 5, 6])
print(5 in a)
True
a = [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
위의 리스트 a를 [5, 4, 3, 2, 1]로 바꿔라.
해설
a = [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
a = set(a)
a = list(a)
a.reverse()
print(a)
[5, 4, 3, 2, 1]
내림차순 방법은 여러 가지가 있으니 편한 방법을 사용하면 된다.
여기까지 파이썬 집합 자료형에 대한 설명이었습니다.
수정이 필요한 부분이나 이해가 안 가는 부분이 있다면 언제든 말씀해주세요!^0^
다음 글에서는 집합 자료형 실습 문제를 풀어볼게요.
그럼 이만
총총