파이썬에서 여러 개의 데이터를 하나의 변수에 담아 관리할 때 가장 많이 사용하는 자료형이 바로 리스트(List)와 튜플(Tuple)입니다. 두 자료형은 생김새가 비슷해 초보자들이 혼동하기 쉽지만, 내부적으로 동작하는 방식과 용도가 확연히 다릅니다. 이 글에서는 두 자료형의 개념과 주요 차이점을 표로 깔끔하게 정리해 드립니다.
리스트(List)란?
리스트는 서로 다른 타입의 객체들을 담을 수 있는 가변(mutable) 컨테이너로, 요소를 반복(iterate)하며 처리할 때 유용하게 사용됩니다. 대괄호 []를 사용해 선언하며, 생성 후에도 요소를 자유롭게 추가·수정·삭제할 수 있습니다.
예제 코드
list = ['a', 'b', 'c', 'd', 'e']
튜플(Tuple)이란?
튜플은 리스트와 매우 유사하지만, 한 번 생성하면 내용을 변경할 수 없는 불변(immutable) 객체라는 점이 다릅니다. 소괄호 ()를 사용해 선언하며, 구조가 단순하기 때문에 리스트보다 처리 속도가 빠른 장점이 있습니다.
예제 코드
tuples = ('a', 'b', 'c', 'd', 'e')
리스트 vs 튜플 핵심 차이점 비교
다음 표는 리스트와 튜플의 중요한 차이점을 항목별로 정리한 것입니다.
| 번호 | 구분 기준 | 리스트(List) | 튜플(Tuple) |
|---|---|---|---|
| 1 | 변경 가능 여부 | 가변(mutable) — 요소 추가·수정·삭제 가능 | 불변(immutable) — 생성 후 변경 불가 |
| 2 | 반복 속도 | 반복(iteration) 속도가 느리고 시간이 더 소요됨 | 반복 속도가 빠름 |
| 3 | 적합한 용도 | 삽입·삭제 등 데이터 조작 작업에 적합 | 요소 조회처럼 읽기 전용 작업에 적합 |
| 4 | 메모리 사용량 | 더 많은 메모리를 소비함 | 더 적은 메모리를 소비함 |
| 5 | 내장 메서드 | 다양한 내장 메서드 제공 (append, remove 등) | 내장 메서드가 상대적으로 적음 (count, index 등) |
| 6 | 오류 발생 가능성 | 데이터가 변경될 수 있어 연산 시 오류 가능성이 높음 | 데이터가 고정되어 있어 연산이 안전함 |
그렇다면 언제 무엇을 사용해야 할까?
리스트는 쇼핑 목록처럼 데이터가 수시로 추가되거나 삭제되는 경우에 적합합니다. 반면 튜플은 좌표값, RGB 색상 코드, 요일 이름처럼 프로그램 실행 중 절대 변해서는 안 되는 고정된 데이터를 저장할 때 사용하는 것이 좋습니다. 또한 딕셔너리의 키(key)로는 해시 가능한 튜플만 사용할 수 있다는 점도 기억해 두면 유용합니다.
마무리
리스트와 튜플의 가장 큰 차이는 '변경 가능성'입니다. 데이터 수정이 필요하면 리스트를, 데이터 보호와 성능이 중요하면 튜플을 선택하는 것이 파이썬 프로그래밍의 기본 원칙입니다. 두 자료형의 특성을 잘 이해하고 상황에 맞게 활용하면 더 효율적이고 안전한 코드를 작성할 수 있습니다.