데이터 분석/Python

[파이썬 기초] 컬렉션 타입(2) : 튜플(tuple) 생성, 슬라이싱, 수정, 언패킹

cjangela 2025. 1. 24. 13:00
반응형

1. 튜플(tuple)이란?

  • 튜플은 리스트(list)와 매우 유사하지만, 수정이 불가능하다는 차이점이 있습니다. 즉, 한 번 생성되면 값을 변경할 수 없는 '읽기 전용 리스트'라고 생각하면 됩니다. 그렇다면 튜플이 왜 필요할까요?
  • 튜플은 순서가 있는 데이터 구조이며, 중복을 허용합니다. 하지만 리스트와 달리 수정, 삭제, 추가가 불가능하다는 특징이 있습니다.
  • 튜플은 리스트보다 메모리 사용량이 적고, 속도가 빠르다는 장점이 잇어서, 변경할 필요가 없는 데이터를 저장할 때 유용합니다.
  • 튜플은 소괄호()를 사용하여 생성합니다.
city_tuple = ('천안', '전주', '울산', '천안')

print(city_tuple)
print(city_tuple[0])
print(len(city_tuple))
[출력 값]
('천안', '전주', '울산', '천안')
천안
4

  • 튜플은 리스트처럼 인덱스를 통해 개별 데이터에 접근할 수 있습니다.
  • len() 함수를 사용하여 튜플의 길이(원소의 개수)를 파악할 수도 잇습니다.

2. 튜플 슬라이싱(Slicing)

  • 튜플은 순서가 있는 자료 구조로, 특정 범위의 값을 가져오고자 할 때 슬라이싱(Slicing)을 사용할 수 있습니다.
  • 슬라이싱은 리스트와 같은 방식으로 동작하며, 콜론(:)을 이용해 범위를 지정합니다.
📌 슬라이싱 규칙
1. tuple[start:end] : 처음부터 (end-1)까지의 요소를 가져옴
2. tuple[:end] : 처음부터 end-1까지 출력
3. tuple[start:] : start부터 끝까지 출력
4. tuple[:] : 전체 요소 출력
region_tuple = ('진안', '정선', '괴산', '음성')

print(region_tuple[1:3])
[출력 값]
('정선', '괴산')

3. 튜플 수정

1) 튜플 수정 불가능

  • 튜플은 한 번 생성되면 변경할 수 없기에, 값을 수정하면 에러가 발생합니다.\
gyeonggi_tuple = ('성남', '동두천', '안산')
gyeonggi_tuple[1] = '수원'

print(gyeonggi_tuple)
[출력 값]
TypeError: 'tuple' object does not support item assignment

  • 이처럼 튜플은 개별 요소를 변경할 수 없습니다. 그렇다면, 튜플의 값을 변경하려면 어떻게 해야 할까요? 🤔

2) 임시 리스트로 변환 후 수정 가능

  • 튜플을 임시 리스트(list)로 변환하면 값을 변경할 수 있습니다. 변경 후 다시 튜플로 변환하면 됩니다.
gyeonggi_tuple = ('성남', '동두천', '안산')
temp_list = list(gyeonggi_tuple)
temp_list[1] = '수원'
gyeonggi_tuple = tuple(temp_list)

print(gyeonggi_tuple)
[출력 값]
('성남', '수원', '안산')

4. 튜플 언패킹(Unpacking)

  • 튜플 언패킹(Unpacking)은 튜플의 값을 여러 변수에 한 번에 할당하는 기법이에요.
📌 언패킹 사용 시 주의할 점!
- 튜플의 원소 개수와 변수 개수가 일치해야 합니다.
kangwon_tuple = ('속초', '양양', '동해', '고성')
(a, b, c, d) = kangwon_tuple

print(a)
print(b)
print(c, d)
[출력 값]
속초
양양
동해 고성

5. 튜플 결합

  • 튜플을 수정, 삭제, 추가가 안 되기에, 두 개 이상의 튜플을 합쳐서 새로운 튜플을 생성할 수 있습니다.
city_tuple = ('청주', '충주')
countryside_tuple = ('괴산', '단양')

# 튜플 결합
chungbuk_tuple = city_tuple + countryside_tuple

print(chungbuk_tuple)
[출력 값]
('청주', '충주', '괴산', '단양')


📌 튜플이 유용한 경우
✔ 딕셔너리의 키(Key)로 사용
✔ 여러 개의 값을 반환하는 함수에서 사용
✔ 불변(Immutable) 데이터를 저장할 때 사용

 

지금까지 튜플(tuple)의 개념과 다양한 활용 방법을 알아보았습니다. 튜플은 리스트와 유사하지만 변경할 수 없다는 특징을 가지고 있어, 데이터 보호가 필요한 경우에 유용하게 사용할 수 있습니다. 튜플을 직접 활용해 보면서 다양한 활용 방법을 익혀보시면 좋을 듯합니다.

 

오늘도 감사합니다:-)

 

* 컬렉션 타입, 리스트 개념은 아래 링크를 참고해 주시기 바랍니다.

2025.01.22 - [데이터 분석 관련] - 파이썬 컬렉션 시리즈 (1) : 리스트(list) 완벽 가이드! 생성부터 활용까지 한눈에 정리

 

파이썬 컬렉션 시리즈 (1) : 리스트(list) 완벽 가이드! 생성부터 활용까지 한눈에 정리

1. 리스트(list)란?리스트는 여러 개의 값을 순서대로 저장할 수 있는 자료형으로, 대괄호[]를 사용하여 정의됩니다. 데이터의 중복을 허용하며, 값을 자유롭게 수정하고 삭제할 수도 있습니다. 

cjangela.tistory.com