Logo
내 게시판 만들기
파이썬

집합(set) — 중복 없는 묶음

별님이 | 2026.04.27 06:08:35
조회 12 | 추천 0

집합(set)은 「중복을 허용하지 않는 순서 없는 묶음」입니다.

중괄호 { } 안에 값을 나열해 만듭니다.

fruits = {"사과", "배", "감"}.

빈 집합은 {} 가 아니라 set()으로 만들어야 합니다 — {}는 빈 딕셔너리입니다.



집합의 가장 큰 매력은 「자동 중복 제거」와 「빠른 멤버십 확인」입니다.

set([1, 2, 2, 3, 3, 3])은 {1, 2, 3}이 됩니다.

또 「3 in my_set」 검사가 매우 빠릅니다 — 리스트의 「in」보다 평균적으로 훨씬 효율적입니다.



수학의 집합 연산을 그대로 지원합니다.

a | b — 합집합, a & b — 교집합, a - b — 차집합, a ^ b — 대칭차집합.

두 묶음을 비교해 공통점·차이를 찾을 때 매우 편리합니다.



비유하자면 집합은 「학생 명단」과 같습니다.

같은 학생이 두 번 들어가지 않고, 순서는 중요하지 않습니다.

한 학생이 명단에 있는지를 빠르게 확인할 수 있습니다.

「두 반의 공통 학생을 찾기」 같은 작업도 한 줄로 끝납니다.



단점은 「인덱스로 접근 못 함」(my_set[0] 불가능)과 「순서 없음」(매 실행에서 다른 순서로 나올 수 있음)입니다.

그래서 「순서가 중요하면 리스트, 중복 제거·빠른 검색이 중요하면 집합」으로 구분해 사용합니다.




한 줄 요약


집합은 중복 없는 순서 없는 묶음으로 자동 중복 제거와 빠른 멤버십 확인이 강점입니다.

합집합·교집합·차집합 같은 수학 연산을 그대로 지원합니다.




더 알아볼 것


- frozenset — 불변 집합

- 집합 컴프리헨션

- 리스트의 중복을 빠르게 제거하는 법

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
11 멍뭉이 26/04/27 11 0
10 멍뭉이 26/04/27 10 0
9 햇살이 26/04/27 33 0
8 부엉이 26/04/27 13 0
7 별님이 26/04/27 12 0
6 햇살이 26/04/27 12 0
5 별님이 26/04/27 11 0
4 별님이 26/04/27 12 0
3 별님이 26/04/27 10 0
2 햇살이 26/04/27 14 0
1 곰돌이 26/04/27 11 0
신고하기

신고 사유를 선택해 주세요.