튜플 자료형
튜플 사용 이유
- 불변성 (Immutability):
- 튜플은 한 번 생성되면 변경할 수 없습니다. 따라서 데이터의 무결성을 보장해야 하는 상황에서 유용합니다.
- 예를 들어, 함수의 매개변수로 전달된 데이터가 변경되지 않도록 하려면 튜플을 사용할 수 있습니다.
- 성능 (Performance):
- 튜플은 리스트보다 메모리 사용량이 적고, 접근 속도가 더 빠릅니다.
- 데이터가 변경되지 않는 경우, 리스트 대신 튜플을 사용하면 성능이 향상될 수 있습니다.
- 데이터 구조 (Data Integrity):
- 튜플을 사용하면 실수로 데이터를 변경하는 것을 방지할 수 있습니다.
- 중요한 설정값이나 상수 데이터를 저장할 때 유용합니다.
- 데이터의 혼합 (Heterogeneous Data):
- 튜플은 서로 다른 데이터 타입을 혼합하여 저장할 수 있습니다.
- 예를 들어, (이름, 나이, 성별)과 같은 서로 다른 데이터 타입을 하나의 튜플로 저장할 수 있습니다.
- 딕셔너리 키 (Dictionary Keys):
- 튜플은 불변하기 때문에 딕셔너리의 키로 사용할 수 있습니다.
- 리스트는 가변적이기 때문에 딕셔너리의 키로 사용할 수 없습니다.
튜플은 어떻게 만들까?
튜플은 소괄호 ()를 사용하여 생성합니다. 요소는 쉼표 ,로 구분합니다.
예제 1
tuple1 = (1, 2, 3)
print(tuple1) # (1, 2, 3)
예제 2
tuple2 = ("apple", "banana", "cherry")
print(tuple2) # ("apple", "banana", "cherry")
튜플의 요솟값을 지우거나 변경하려고 하면 어떻게 될까?
튜플은 불변(immutable) 자료형이므로, 한 번 생성된 후에는 요소를 지우거나 변경할 수 없습니다. 이를 시도하면 오류가 발생합니다.
1. 튜플 요솟값을 삭제하려 할 때
예시 1
tuple1 = (1, 2, 3)
del tuple1[1] # TypeError: 'tuple' object doesn't support item deletion
Traceback (most recent call last):
File "<pyshell#7>", line 1, in </pyshell#7>
del tuple1[1]
TypeError: 'tuple' object doesn't support item deletion
예시 2
tuple2 = ("apple", "banana", "cherry")
del tuple2[0] # TypeError: 'tuple' object doesn't support item deletion
2. 튜플 요솟값을 변경하려 할 때
예시 1
tuple1 = (1, 2, 3)
tuple1[1] = 4 # TypeError: 'tuple' object does not support item assignment
TypeError: 'tuple' object does not support item assignment
SyntaxError: multiple statements found while compiling a single statement
튜플 다루기
인덱싱하기
튜플의 특정 위치에 있는 요소를 가져오는 방법입니다.
tuple1 = (1, 2, 3)
print(tuple1[0]) # 1
tuple2 = ("apple", "banana", "cherry")
print(tuple2[2]) # "cherry"
슬라이싱하기
튜플의 일부분을 가져오는 방법입니다. 슬라이싱의 기본 형태는 tuple[start:end]입니다. start는 시작 인덱스, end는 끝 인덱스(포함되지 않음)입니다.
예제 1
tuple1 = (1, 2, 3, 4, 5)
print(tuple1[1:3]) # (2, 3)
예제2
tuple2 = ("apple", "banana", "cherry", "date")
print(tuple2[:2]) # ("apple", "banana")
튜플 더하기
두 튜플을 더하면, 두 튜플이 결합되어 새로운 튜플이 만들어집니다.
예제 1
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
result = tuple1 + tuple2
print(result) # (1, 2, 3, 4, 5, 6)
예제2
tuple3 = ("apple", "banana")
tuple4 = ("cherry", "date")
result = tuple3 + tuple4
print(result) # ("apple", "banana", "cherry", "date")
튜플 곱하기
튜플을 정수와 곱하면, 튜플이 그 정수만큼 반복됩니다.
예제 1
tuple1 = (1, 2, 3)
result = tuple1 * 2
print(result) # (1, 2, 3, 1, 2, 3)
예제2
tuple3 = ("apple", "banana")
result = tuple3 * 3
print(result) # ("apple", "banana", "apple", "banana", "apple", "banana")
튜플 길이 구하기
튜플의 요소 개수를 반환합니다.
tuple1 = (1, 2, 3, 4)
length = len(tuple1)
print(length) # 4
'파이썬로드' 카테고리의 다른 글
파이썬 독학, 집합자료형 (0) | 2024.07.02 |
---|---|
파이썬 독학, 딕셔너리 자료형 (0) | 2024.07.01 |
파이썬 리스트 자료형, 리스트 관련 함수 append, sort, reverse, index, insert, remove, pop, count, extend (0) | 2024.06.23 |
파이썬 리스트 자료형, 리스트의 수정과 삭제 (0) | 2024.06.23 |
파이썬 리스트 자료형, 리스트 연산하기 (0) | 2024.06.23 |