Chapter 02. 자료구조 문제풀이
파이썬 자료구조 정리: 리스트와 튜플
1. 리스트와 튜플의 차이
리스트와 튜플은 모두 여러 개의 값을 하나로 묶어 관리하는 자료구조이지만, 가변성 여부에서 가장 큰 차이가 있다.
- 리스트(List): 생성 후에도 요소를 추가, 수정, 삭제할 수 있는 가변(mutable) 자료구조
- 튜플(Tuple): 한 번 생성되면 내부 값을 변경할 수 없는 불변(immutable) 자료구조
lst = [1, 2, 3]
tpl = (1, 2, 3)
리스트는 대괄호([]), 튜플은 소괄호(())를 사용해 선언한다. 실무에서는 데이터가 변경될 가능성이 있으면 리스트, 변경되면 안 되는 고정 데이터라면 튜플을 사용하는 것이 일반적이다.
2. 튜플 아이템 정렬
튜플은 자체적으로 sort() 메서드를 지원하지 않는다. 이는 튜플이 불변 자료구조이기 때문이다.
대신 다음과 같은 방식으로 정렬할 수 있다.
tpl = (5, 2, 9, 1)
sorted_tpl = tuple(sorted(tpl))
이 과정에서 핵심은 정렬 결과는 새로운 튜플로 생성된다는 점이다. 원본 튜플은 그대로 유지된다.
3. 튜플과 for문
튜플은 리스트와 마찬가지로 반복(iteration)이 가능하다. 따라서 for문과 함께 자주 사용된다.
tpl = ("apple", "banana", "cherry")
for item in tpl:
print(item)
또한 인덱스가 필요하다면 range() 또는 enumerate()를 함께 사용할 수 있다.
for idx, value in enumerate(tpl):
print(idx, value)
튜플은 읽기 전용 데이터 구조이기 때문에, 반복문과 함께 사용할 때 의도치 않은 값 변경을 방지할 수 있다는 장점이 있다.
4. 튜플과 while문
while문을 사용할 때는 인덱스를 직접 관리해야 한다.
tpl = (10, 20, 30)
i = 0
while i < len(tpl):
print(tpl[i])
i += 1
이 방식은 구조를 명확히 이해하는 데 도움이 되지만, 실무에서는 가독성과 안정성 측면에서 for문이 더 자주 사용된다.
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
리스트와 튜플을 비교하면서 단순히 문법 차이가 아니라 자료구조를 선택하는 기준이 중요하다는 점을 다시 느꼈다. 튜플은 수정이 불가능하다는 제약이 있지만, 그만큼 데이터의 안정성을 보장해준다. 특히 반복문과 함께 사용할 때 실수로 값이 바뀌는 일을 방지할 수 있다는 점이 인상 깊었다. 이제는 "무조건 리스트"가 아니라, 상황에 따라 튜플을 선택하는 습관을 들여야겠다고 생각했다.
🚀 적용점
- 설정값, 좌표, 기준 데이터 등 변경되면 안 되는 값은 튜플로 관리하기
- 반복문에서 데이터 보호가 필요한 경우 튜플 활용하기
- 정렬이 필요한 튜플은 sorted() + tuple() 패턴으로 처리하기
- 리스트와 튜플의 차이를 설명할 수 있을 정도로 개념 정리하기
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -22 (0) | 2025.12.19 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -21 (0) | 2025.12.18 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -19 (0) | 2025.12.16 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -18 (0) | 2025.12.15 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -17 (0) | 2025.12.14 |