##Python/0. 파이썬 기초

3-4. 파이썬 기초 : 자료형 (튜플, Tuple)

허밍- 2025. 3. 22. 20:50

안녕하세요, 허밍입니다 😊
오늘은 파이썬 기초 자료형 시리즈 네 번째 시간으로 '튜플(Tuple)' 에 대해 알아보겠습니다.

파이썬에는 다양한 자료형이 존재하는데, 그중에서도 튜플은 리스트(List)와 비슷하지만 중요한 차이점이 있습니다.
바로 변경이 불가능한(immutable) 자료형이라는 점이에요!

이번 글에서는 튜플의 개념부터 사용법, 리스트와의 차이점, 그리고 자주 사용하는 튜플 관련 기능까지 정리해 드릴게요.
공감하신다면 좋아요 한 번 부탁드립니다 ❤️


📌 튜플이란?

튜플은 여러 개의 값을 하나의 변수에 저장할 수 있는 자료형이에요.
하지만 한 번 생성되면 내부 값을 변경할 수 없다는 것이 리스트와 가장 큰 차이점입니다.

my_tuple = (1, 2, 3)

위 코드는 정수 1, 2, 3을 담고 있는 튜플을 생성한 예입니다.


✅ 튜플의 특징

  • **소괄호()**를 사용해서 생성합니다.
  • 값을 변경하거나 삭제할 수 없습니다.
  • 인덱싱(indexing), 슬라이싱(slicing) 가능
  • 중첩 튜플 사용 가능
  • 읽기 전용 데이터 저장에 적합

🆚 리스트 vs 튜플

구분리스트(List)튜플(Tuple)
기호 [] ()
변경 가능 여부 ✅ 가능 ❌ 불가능
속도 느림 빠름
용도 변경 가능한 데이터 고정된 데이터

튜플은 불변성을 가지기 때문에 속도가 빠르고, 프로그램에서 데이터 보호가 필요한 상황에 많이 사용돼요.


✨ 튜플 생성 방법

튜플은 소괄호 ()를 사용하거나, 쉼표만으로도 만들 수 있어요.

# 소괄호 사용
t1 = (1, 2, 3)

# 괄호 생략 가능 (하지만 가독성을 위해 괄호 권장)
t2 = 4, 5, 6

# 요소가 하나일 경우 쉼표 필수!
t3 = (7,)  # 튜플
t4 = (7)   # 숫자 7 (튜플 아님)

🔍 튜플 인덱싱 & 슬라이싱

튜플도 리스트처럼 인덱스를 사용할 수 있어요!

my_tuple = ('a', 'b', 'c', 'd')

print(my_tuple[0])     # 'a'
print(my_tuple[-1])    # 'd'
print(my_tuple[1:3])   # ('b', 'c')

🔁 튜플 언패킹 (Unpacking)

튜플의 각 값을 변수에 한 번에 할당할 수 있어요!

person = ('홍길동', 30, '서울')
name, age, city = person

print(name)  # 홍길동
print(age)   # 30
print(city)  # 서울

🔄 튜플은 정말로 못 바꿀까?

네! 아래와 같은 코드를 실행하면 오류가 발생합니다.

my_tuple = (1, 2, 3)
my_tuple[0] = 100  # TypeError!

이처럼 값을 수정하려고 하면 오류가 발생하므로, 변경이 필요한 경우 리스트로 바꿔야 해요.

# 튜플을 리스트로 변환하기
temp_list = list(my_tuple)
temp_list[0] = 100
my_tuple = tuple(temp_list)
print(my_tuple)  # (100, 2, 3)

🛠️ 자주 사용하는 튜플 관련 함수

my_tuple = (1, 2, 3, 2, 4)

print(my_tuple.count(2))  # 2 (2가 몇 번 나오는지)
print(my_tuple.index(3))  # 2 (3이 있는 인덱스 위치)

📍 튜플을 써야 할 때는?

  • 함수에서 여러 값을 반환할 때
  • 변하지 않아야 하는 고정값 저장 시
  • 속도가 중요한 상황
  • 딕셔너리의 키로 사용할 때 (불변 객체만 가능)

📘 마무리

튜플은 리스트와 비슷해 보이지만 **불변(immutable)**이라는 큰 특징을 가지고 있어요.
이 때문에 안정성과 성능이 중요한 곳에서 자주 사용됩니다.

처음엔 리스트와 헷갈릴 수 있지만, 쓰다 보면 자연스럽게 차이점이 눈에 들어오실 거예요!
다음 글에서는 **딕셔너리(Dictionary)**에 대해 알아보겠습니다 😊
공감하신다면 좋아요 한 번 부탁드려요! ❤️