2.1 집합과 그 속성
집합은 프로그래밍에서 특별한 종류의 컬렉션으로, 고유한 요소들을 저장하는 데 도움을 줘. 쉽게 말해, 집합은 반복되지 않는 항목만 담을 수 있는 바구니와 비슷해. 만약 이미 바구니에 있는 걸 넣으려 한다면, 바구니는 그 행동을 무시할 거야.
집합의 주요 특징
고유성:
집합의 각 요소는 고유해. 이미 집합에 존재하는 요소를 추가하려고 하면, 중복해서 추가되진 않을 거야.
무순서성:
리스트와 달리, 집합의 요소는 특정 순서가 없어. 즉, 인덱스로 요소에 접근할 수 없어
.
변경 가능성:
집합은 변경 가능해 — 요소를 추가하거나 삭제할 수 있어. 하지만 집합의 요소들은 변경 불가능해야 해 (예를 들어 숫자, 문자열, 튜플).
2.2 Python에서 집합 생성하기
Python에서 집합을 생성하는 모든 방법을 살펴보자. 이렇게 하면 집합을 다룰 수 있는 완전한 도구를 갖게 될 거야.
중괄호 사용하기
가장 흔한 집합 생성 방법은 중괄호 {}를 사용하는 거야. 튜플이나 리스트를 다룰 때처럼, 중괄호 안에 요소들을 나열하면 돼:
fruit_set = {"apple", "banana", "cherry"}
print(fruit_set) # 출력: {"banana", "cherry", "apple"}
요소들은 다양한 타입일 수 있지만, 각 요소는 고유해야 해.
fruit_set = {"apple", 1, 3.25}
print(fruit_set) # 출력: {1, "apple", 3.25}
set()
함수 사용하기
set()
함수는 다른 iterable 객체, 예를 들어 리스트, 문자열 또는 튜플에서 집합을 생성하는 데 쓸 수 있어.
리스트에서
list_to_set = set([1, 2, 3, 4, 4, 5])
print(list_to_set) # 출력: {1, 2, 3, 4, 5}
문자열에서
string_to_set = set("hello")
print(string_to_set) # 출력: {"h", "e", "l", "o"}
튜플에서
tuple_to_set = set((1, 2, 3, 4, 5))
print(tuple_to_set) # 출력: {1, 2, 3, 4, 5}
다른 집합에서
다른 집합에서 집합을 생성할 수 있어, 이는 복사를 만들 때 유용해.
original_set = {"apple", "banana", "cherry"}
new_set = set(original_set)
print(new_set) # 출력: {"banana", "cherry", "apple"}
빈 집합
빈 집합을 만들려면 set()
함수를 사용해. 중괄호 {}
를 사용하면 빈 딕셔너리 (dictionary)
가 만들어지지 집합이 만들어지진 않아.
empty_set = set()
print(empty_set) # 출력: set()
2.3 메서드 목록
Python의 집합은 데이터 컬렉션을 효율적으로 관리할 수 있는 여러 메서드를 제공해. set
클래스의 가장 인기 있는 메서드 중 몇 가지는 다음과 같아:
메서드 | 설명 |
---|---|
add() |
집합에 요소를 추가해 |
remove() |
집합에서 요소를 삭제해, 요소가 없으면 에러를 발생시켜 |
discard() |
집합에서 요소를 삭제해, 요소가 없어도 에러가 발생하지 않아 |
pop() |
랜덤한 요소를 삭제하고 반환해, 집합이 비어 있으면 에러를 발생시켜 |
clear() |
집합의 모든 요소를 삭제해 |
union() |
집합의 합집합을 반환해 |
intersection() |
집합의 교집합을 반환해 |
difference() |
집합의 차집합을 반환해 |
symmetric_difference() |
집합의 대칭차집합을 반환해 |
update() |
다른 집합이나 iterable 객체의 요소를 현재 집합에 추가해 |
아래에서는 이 모든 메서드의 사용 방법과 몇 가지 추가 내용을 다룰 거야.
GO TO FULL VERSION