[Python] 집합 자료형 다루기

2021. 8. 4. 23:20· 언어/Python
목차
  1. 집합 자료형의 연산
  2. 집합 자료형에 값 추가, 제거
728x90

파이썬은 집합(고등수학에서 배우는 그 집합)을 처리하기 위한 자료형 set을 제공한다.

 

집합 자료형은 set()으로 선언하며, 안에 들어갈 원소들을 리스트 형태로 넘겨주면 된다.

data = set([1, 4, 9, 11, 3])
print(data)
# {1, 3, 4, 9, 11}

 

집합 자료형의 특징은 크게 두 가지가 있다.

  • 중복값을 허용하지 않는다.
  • 원소들 간 순서가 정해져있지 않다. 

중복값을 허용하지 않기 때문에 동일한 값의 원소를 여러 개 넣더라도 집합 안에는 하나의 원소만 남게된다.

data = set([1, 4, 4, 4, 9, 11, 3])
print(data)
# {1, 3, 4, 9, 11}

 

순서를 갖지 않기 때문에 리스트처럼 인덱싱하는 것이 불가하다.

data = set([1, 4, 9, 11, 3])
print(data[0])
# TypeError: 'set' object is not subscriptable

 

집합 자료형의 연산

고등학교 때 배웠던 기억을 떠올려보자.

 

두 개 이상의 집합을 연산할 때 합집합, 차집합, 교집합이라는 개념이 있었다.

 

파이썬의 집합 자료형 역시 이러한 연산을 지원한다.

set_a = set([1, 3, 4, 9, 13])
set_b = set([3, 7, 9, 11])

print(set_a | set_b) # 합집합
print(set_a - set_b) # 차집합
print(set_a & set_b) # 교집합

# {1, 3, 4, 7, 9, 11, 13}
# {1, 4, 13}
# {9, 3}

 

집합 자료형에 값 추가, 제거

리스트와 마찬가지로 집합에 값을 추가하거나 삭제하는 연산 또한 지원한다.

 

값 추가

set_a = set([1, 3, 4, 9, 13])
set_a.add(99)

print(set_a)
# {1, 3, 4, 99, 9, 13}

 

여러 개 값 추가

set_a = set([1, 3, 4, 9, 13])
set_a.update([100, 101]) # 추가할 값들은 리스트 형태로 삽입해준다.

print(set_a)
# {1, 3, 4, 100, 101, 9, 13}

 

값 제거

set_a = set([1, 3, 4, 9, 13])
set_a.remove(13)

print(set_a)
# {1, 3, 4, 9}

 

 

저작자표시 (새창열림)

'언어 > Python' 카테고리의 다른 글

[Python] 파이썬의 GIL (Global Interpreter Lock)  (2) 2021.10.22
[Python] heapq(우선순위 큐) 사용법  (0) 2021.09.19
[Python] collections 모듈의 Counter 함수  (2) 2021.04.04
[Python] 10진수 숫자를 2진수 숫자로 바꿔주기  (0) 2021.02.01
[Python] 반복문의 제어 continue, pass, break  (0) 2021.01.08
  1. 집합 자료형의 연산
  2. 집합 자료형에 값 추가, 제거
'언어/Python' 카테고리의 다른 글
  • [Python] 파이썬의 GIL (Global Interpreter Lock)
  • [Python] heapq(우선순위 큐) 사용법
  • [Python] collections 모듈의 Counter 함수
  • [Python] 10진수 숫자를 2진수 숫자로 바꿔주기
SeongOnion
SeongOnion
서버는 꺼지지 않아요
SeongOnion
조무래기 코딩
SeongOnion
전체
오늘
어제
  • 분류 전체보기 (167)
    • 알고리즘 (81)
      • 이론 (8)
      • 문제풀이 (73)
    • 언어 (15)
      • Python (9)
      • JavaScript (1)
      • JAVA (5)
    • 데이터베이스 (5)
    • 프레임워크 (15)
      • Django (7)
      • Spring (8)
    • 그 외 공부 (38)
      • 운영체제 (1)
      • 자료구조 (14)
      • 네트워크 (5)
      • CS (2)
      • 기타 (7)
      • 트러블 슈팅 (9)
    • 프로젝트 (0)
    • 개발자취 (8)
    • 회고 (3)
    • 주저리주저리 (1)
    • 기타 (비개발) (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 에라토스테네스의 체
  • spring
  • 소수
  • DRF
  • 프로그래머스
  • 파이썬
  • 알고리즘
  • 스택
  • 데이터베이스
  • 투 포인터 알고리즘
  • 개발자
  • 트러블 슈팅
  • DP
  • 정렬 알고리즘
  • 컨트리뷰트
  • BFS
  • BFS/DFS
  • 코딩
  • 큐
  • 브루트포스
  • 이진탐색
  • 코딩테스트
  • 장고
  • 백준
  • 회고
  • Django
  • 그리디알고리즘
  • 자바
  • 웹
  • 오픈소스

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
SeongOnion
[Python] 집합 자료형 다루기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.