Python 기초

Python 집합(set)

set은 각 값을 한 번만 저장하고 "이 값이 여기에 있나?"를 아주 빠르게 확인합니다. 그래서 중복 제거에 아주 좋습니다.

집합(set)이란?

set은 각 값을 한 번만 저장하고 "이 값이 여기에 있나?"를 아주 빠르게 확인합니다. 그래서 중복 제거에 아주 좋습니다.

Python set으로 중복 없는 값을 저장하고 union과 intersection을 사용합니다.

언제 사용하나요?

  • 실행 가능한 코드로 Python 문법을 학습합니다.
  • 더 큰 문제를 위한 기초를 다집니다.
  • 로컬 설치 없이 아이디어를 빠르게 시험합니다.

동작 원리 보기

연산을 고르면 결과가 그림에서 강조됩니다. 이미 있는 값을 추가하면 중복이 무시된다는 것을 볼 수 있습니다.

예제 코드

코드 실행 →
main.py
# A set stores unique values with no fixed order.
tags = {"python", "code", "python", "learn"}
print(len(tags))                 # the duplicate "python" is kept once
print("code" in tags)            # fast membership test

tags.add("fun")
tags.discard("code")
print(sorted(tags))

# Remove duplicates from a list.
numbers = [3, 1, 3, 2, 1]
print(sorted(set(numbers)))

# Set operations.
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a | b)   # union: in either set
print(a & b)   # intersection: in both
print(a - b)   # difference: in a but not in b

예상 출력

3
True
['fun', 'learn', 'python']
[1, 2, 3]
{1, 2, 3, 4, 5}
{3, 4}
{1, 2}

작동 원리

set에는 고정된 순서가 없어서, 안정적인 출력을 위해 sorted()를 사용합니다. |는 union, &는 intersection, -는 두 set의 difference를 만듭니다.

값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.

연습 문제

입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.

  1. 실행 전에 출력을 예측하세요.
  2. 빈 입력과 잘못된 입력을 처리하세요.
  3. 로직을 함수로 만들고 테스트를 추가하세요.
Python IDE에서 실행 →

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지