반응형
Chapter 01. 자료구조
파이썬 튜플(Tuple) — 길이, 결합, 슬라이싱 완전 정리
튜플은 리스트와 비슷하지만 값을 변경할 수 없는(immutable) 자료형이다.
이번 글에서는 튜플의 기본 연산인 길이 확인 → 결합 → 슬라이싱까지 한 번에 정리한다.
1. 주요 개념 요약
✔ 1) 튜플의 길이 확인
- len() 함수를 사용해 튜플의 전체 아이템 개수를 구한다.
- 리스트와 동일하게 작동한다.
2) 튜플 결합
튜플은 값을 변경할 수 없기 때문에, 리스트처럼 extend() 사용이 불가능하다.
따라서 + 연산자로 새로운 튜플을 만들어 결합해야 한다.
- 예:
(1, 2, 3) + (4, 5) → (1, 2, 3, 4, 5)
⚠ 튜플에 1개의 값만 추가할 때는 (값, )처럼 콤마를 꼭 붙여야 튜플로 인식한다.
✔ 3) 튜플 슬라이싱
리스트와 동일하게 슬라이싱 문법을 사용할 수 있다.
- tuple[start:end]
- tuple[:n]
- tuple[n:]
- tuple[::-1] (역순)
튜플도 순서가 있기 때문에 슬라이싱이 가능하다.
2. 코드 예시 모음
튜플 길이 확인
heroes = ('아이언맨', '토르', '헐크', '스파이더맨')
print(len(heroes)) # 4
✔ 튜플 결합 예시 (중복 없이 결합)
파일 예제 기반
myFavoriteNumbers = (1, 3, 5, 6, 7)
friendFavoriteNumbers = (2, 3, 5, 8, 10)
print('myFavoriteNumbers:', myFavoriteNumbers)
print('friendFavoriteNumbers:', friendFavoriteNumbers)
for number in friendFavoriteNumbers:
if number not in myFavoriteNumbers:
myFavoriteNumbers = myFavoriteNumbers + (number, )
print('결과:', myFavoriteNumbers)
결과
(1, 3, 5, 6, 7, 2, 8, 10)
튜플 슬라이싱 예시
numbers = (10, 20, 30, 40, 50, 60)
print(numbers[1:4]) # (20, 30, 40)
print(numbers[:3]) # (10, 20, 30)
print(numbers[3:]) # (40, 50, 60)
print(numbers[::-1]) # (60, 50, 40, 30, 20, 10)
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
튜플은 리스트에 비해 수정이 불가능하다는 제약이 있지만, 반대로 데이터의 안정성이 보장되는 구조라는 장점이 있다.
길이 확인, 결합, 슬라이싱 모두 리스트처럼 사용할 수 있어 학습 난이도도 높지 않았다. 특히 결합 시 extend()가 안 되고 반드시 +로 새로운 튜플을 생성해야 한다는 점이 핵심적으로 느껴졌다.
또한 실습 예제처럼 반복문을 통해 새로운 값을 조건부로 추가하는 과정은 "튜플도 조작 가능하다"는 착각을 줄여주고, 결과적으로는 불변 객체를 다루는 방식을 더 잘 이해하는 데 도움이 되었다.
🚀 적용점
- 데이터를 불변 상태로 유지해야 하는 상황에서 리스트 대신 튜플 사용하기
- 여러 개의 결과값을 함수에서 반환할 때 튜플 활용
- 튜플 결합을 통해 여러 데이터 세트를 병합하는 로직 구성
- 슬라이싱을 사용하여 특정 구간의 데이터를 안전하게 추출
- 중복 제거 결합 로직을 활용하여 실무에서도 간단한 정제 작업 적용
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -13 (0) | 2025.12.10 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -12 (0) | 2025.12.09 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -10 (0) | 2025.12.07 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -09 (0) | 2025.12.06 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -08 (0) | 2025.12.05 |