[Python] 집합 자료형(set)과 합집합, 교집합, 차집합

Choi Jimin·2023년 7월 2일

Python

목록 보기
6/8

프로그래머스 문제를 풀다가 다른 사람의 풀이를 보고 집합 자료형에 대해 한 번 정리해보고자 포스팅하게 되었다.


집합 자료형 set

🔴 Basic (기본)

✅ 자료형 설명
집합(set) 자료형은 우리가 흔히 아는 수학에서의 집합과 비슷하다.
순서가 없고, 중복 또한 없다.
따라서 중복을 제거하기 위한 필터로 set이 종종 사용되기도 한다.

🍏 예시 코드

s1 = set(1, 2, 3)	# s1 = {1, 2, 3}
s2 = set([1, 2, 3])		# s2 = {1, 2, 3}
s3 = set("hello")	# s3 = {'e', 'H', 'l', 'o'}

🔴 further 1 (교집합, 합집합, 차집합)

✅ 설명
set 자료형은 교집합, 합집합, 차집합을 구할 때 매우 유용하다.

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

아래의 예시 코드를 통해 s1, s2 교집합, 차집합, 합집합을 구하는 방법을 알아보자.

🍏 예시 코드

  • 교집합
s1 & s2		# {4, 5, 6}
s1.intersection(s2)		# {4, 5, 6}
  • 합집합
s1 | s2		# {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2)		# {1, 2, 3, 4, 5, 6, 7, 8, 9}
  • 차집합
s1 - s2		# {1, 2, 3}
s1.difference(s2)		# {1, 2, 3}

🔴 further 2 (set 메소드)

✅ 설명
set 자료형은 다양한 메소드를 가지고 있다. 본 포스팅에서는 기본적인 메소드 몇 가지를 알아보고자 한다. 아래 예시 코드를 참고 바란다.

🍏 예시 코드

  • 요소 1개 추가하기 (add())
s1 = set([1, 2, 3])
s1.add(4)	# s1 = {1, 2, 3, 4}
  • 값 여러 개 추가하기 (update())
s1 = set([1, 2, 3])
s1.update([4, 5, 6])	# s1 = {1, 2, 3, 4, 5, 6}

update()의 매개변수로는 리스트, 튜플, 집합 모두 들어갈 수 있다.

  • 특정 값 제거하기 (remove())
s1 = set([1, 2, 3])
s1.remove(2)	# s1 = {1, 3}


참고

  • 점프 투 파이썬 (02-6. 집합 자료형) [링크]

0개의 댓글