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 컴파일러에서 실행하세요.
연습 문제
입력값과 경계 조건을 바꾸고 더 큰 데이터에서도 동작을 확인하세요.
- 실행 전에 출력을 예측하세요.
- 빈 입력과 잘못된 입력을 처리하세요.
- 로직을 함수로 만들고 테스트를 추가하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지