728x90
반응형
Python의 기본 데이터 구조 중 하나인 튜플(Tuple)과 집합(Set)은 데이터를 효율적으로 관리하고 처리하는 데 유용합니다. 이번 글에서는 튜플과 집합의 특징, 사용법, 주요 예제를 간단히 살펴보겠습니다.
1. 튜플 (Tuple)
튜플은 변경할 수 없는(immutable) 데이터 구조입니다. 리스트와 유사하지만, 튜플은 생성 후 변경이 불가능하다는 점에서 다릅니다. 데이터를 고정된 상태로 유지해야 하는 경우 유용합니다.
튜플의 특징
- 순서가 있음: 인덱싱과 슬라이싱이 가능.
- 수정 불가: 한 번 생성된 튜플은 수정하거나 삭제할 수 없음.
- 소괄호 사용: ()로 생성.
튜플 생성 및 사용 예제
# 튜플 생성
my_tuple = (1, 2, 3)
print(my_tuple) # 출력: (1, 2, 3)
# 튜플 인덱싱
print(my_tuple[0]) # 출력: 1
# 튜플 슬라이싱
print(my_tuple[1:]) # 출력: (2, 3)
# 중첩 튜플
nested_tuple = (1, (2, 3), 4)
print(nested_tuple[1]) # 출력: (2, 3)
튜플의 활용
튜플은 주로 변경이 필요 없는 고정된 데이터를 저장하거나, 함수에서 여러 값을 반환할 때 사용됩니다.
# 여러 값 반환
def min_max(numbers):
return min(numbers), max(numbers)
result = min_max([3, 1, 4, 1, 5])
print(result) # 출력: (1, 5)
2. 집합 (Set)
집합은 중복을 허용하지 않고, 순서가 없는 데이터 구조입니다.
데이터의 고유성(unique)을 보장하거나 교집합, 합집합 등의 집합 연산을 수행할 때 유용합니다.
집합의 특징
- 순서가 없음: 인덱싱과 슬라이싱 불가.
- 중복 불가: 동일한 값은 한 번만 저장.
- 중괄호 사용: {}로 생성. 단, 빈 집합은 set()으로 생성.
집합 생성 및 사용 예제
# 집합 생성
my_set = {1, 2, 3, 3, 2}
print(my_set) # 출력: {1, 2, 3}
# 집합 연산
set_a = {1, 2, 3}
set_b = {3, 4, 5}
# 합집합
print(set_a | set_b) # 출력: {1, 2, 3, 4, 5}
# 교집합
print(set_a & set_b) # 출력: {3}
# 차집합
print(set_a - set_b) # 출력: {1, 2}
집합 활용
집합은 주로 중복 제거, 데이터 간 관계 비교(예: 교집합), 정렬이 필요 없는 데이터 관리에 활용됩니다.
# 중복 제거
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers) # 출력: {1, 2, 3, 4, 5}
3. 튜플과 집합의 차이점
특징 튜플 (Tuple) 집합 (Set)
순서 | 순서가 있음 | 순서가 없음 |
중복 | 중복 허용 | 중복 불가 |
변경 | 변경 불가 | 변경 가능 |
사용 목적 | 고정된 데이터 저장 | 고유 값 관리 및 집합 연산 |
4. 정리
- 튜플은 변경할 수 없는 순서가 있는 데이터 구조로, 데이터를 고정된 상태로 유지해야 할 때 유용합니다.
- 집합은 중복을 허용하지 않는 순서가 없는 데이터 구조로, 고유한 값의 관리 및 집합 연산에 적합합니다.
728x90
반응형
'Python > 이론' 카테고리의 다른 글
97. [Python] 프로그래밍 기본 사항 : Loop ( 반복문 ) (0) | 2025.01.20 |
---|---|
95. [Python] 프로그래밍 기본 사항 : COMPARISON OPERATORS (비교연산자) (0) | 2025.01.20 |
87. [Python] 프로그래밍 기본 사항 : DICTIONARIES AND BOOLEANS (1) | 2025.01.17 |
86. [Python] 프로그래밍 기본 사항 : LISTS(리스트) (1) | 2025.01.17 |
85. [Python] 프로그래밍 기본 사항 : STRINGS(문자열) (0) | 2025.01.17 |