본문 바로가기
Python/문법

[Python] 파이썬 튜플 자료형의 모든 것

by 에파 2024. 7. 27.
728x90

파이썬에서 튜플(tuple)은 리스트와 비슷한 시퀀스 자료형이지만, 한 번 생성되면 수정할 수 없는 불변 특성을 가집니다. 이번 글에서는 튜플의 기능에 대해 설명하겠습니다.

 

1. 튜플이란 무엇인가?

튜플은 여러 개의 아이템을 순서대로 저장하는 시퀀스 자료형으로, 소괄호 '()'를 사용하여 정의합니다. 리스트와 달리, 한 번 생성된 튜플의 요소는 변경, 추가 또는 삭제할 수 없습니다. 이러한 불변성 덕분에 튜플은 리스트보다 안전하게 사용할 수 있습니다.

 

# 튜플 생성 예시
numbers = (1, 2, 3, 4, 5)
mixed_tuple = (1, "Hello", 3.14, True)

 

2. 튜플의 기본 연산

튜플 요소 접근

튜플의 각 요소는 인덱스를 사용하여 접근할 수 있습니다. 인덱스는 0부터 시작합니다.

 

# 튜플 요소 접근
numbers = (1, 2, 3, 4, 5)
print(numbers[0])  # 출력: 1
print(numbers[4])  # 출력: 5

 

튜플 슬라이싱

리스트와 마찬가지로 튜플도 슬라이싱을 통해 일부분을 추출할 수 있습니다.

 

# 튜플 슬라이싱
sub_tuple = numbers[1:4]
print(sub_tuple)  # 출력: (2, 3, 4)

 

튜플 길이 구하기

'len()' 함수를 사용하여 튜플의 길이를 구할 수 있습니다.

 

length = len(numbers)
print(length)  # 출력: 5

 

3. 튜플의 특성

불변성

튜플의 가장 큰 특징은 불변성입니다. 튜플의 요소를 한 번 정의하면 변경할 수 없습니다.

 

# 튜플 요소 변경 시도
numbers[0] = 10  # TypeError 발생

 

다양한 자료형 포함

튜플은 서로 다른 자료형을 포함할 수 있습니다.

 

mixed_tuple = (1, "Hello", 3.14, True)
print(mixed_tuple)  # 출력: (1, 'Hello', 3.14, True)

 

4. 튜플 함수

리스트와 비슷한 함수를 제공하지만, 튜플은 불변이므로 수정 관련 함수는 없습니다.

 

'count()'

'count()' 함수는 튜플에서 특정 값의 개수를 반환합니다.

 

numbers = (1, 2, 3, 2, 2, 4, 5)
count_of_twos = numbers.count(2)
print(count_of_twos)  # 출력: 3

 

'index()'

'index()' 함수는 튜플에서 특정 값이 처음으로 나타나는 인덱스를 반환합니다.

 

index_of_three = numbers.index(3)
print(index_of_three)  # 출력: 2

 

5. 중첩 튜플

튜플 안에 튜플을 포함할 수 있습니다.

 

# 중첩 튜플 예시
nested_tuple = (1, (2, 3), 4)
print(nested_tuple[1])  # 출력: (2, 3)
print(nested_tuple[1][0])  # 출력: 2

 

6. '튜플 ↔ 리스트' 변환

튜플을 리스트로 변환하거나, 리스트를 튜플로 변환할 수 있습니다.

 

# 튜플을 리스트로 변환
numbers = (1, 2, 3, 4, 5)
numbers_list = list(numbers)
numbers_list.append(6)
print(numbers_list)  # 출력: [1, 2, 3, 4, 5, 6]

# 리스트를 튜플로 변환
numbers_list = [1, 2, 3, 4, 5]
numbers_tuple = tuple(numbers_list)
print(numbers_tuple)  # 출력: (1, 2, 3, 4, 5)

 

 

 

튜플은 불변성이 보장되는 시퀀스 자료형으로, 데이터의 안전성을 유지하는 데 유용하게 사용됩니다.

댓글