반응형
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
'데이터 분석 > Python' 카테고리의 다른 글
[파이썬 기초] 컬렉션 타입(4) : 세트(set) 생성, 추가, 삭제, 반복 (0) | 2025.01.27 |
---|---|
[파이썬 기초] 컬렉션 타입(3) : 딕셔너리(dictionary) 생성, 수정 및 삽입, 삭제, 메서드 (0) | 2025.01.24 |
파이썬 컬렉션 시리즈 (1) : 리스트(list) 완벽 가이드! 생성부터 활용까지 한눈에 정리 (0) | 2025.01.22 |
파이썬 기초: 데이터 타입 완벽 정리! (문자형, 숫자형, 불리언) (0) | 2025.01.20 |
파이썬(Python) 기본 문법 알아보기: 변수 그리고 변수명 규칙 (0) | 2025.01.18 |