본문 바로가기
개발

리스트(List)와 튜플(Tuple)의 차이를 한 번에 이해하기

by Kyutree 2026. 1. 30.

아침에 즐겨 마시는 커피, 어떤 종류를 선호하시나요?

매일 아침 똑같은 메뉴를 고집하는 분도 계실 테고, 그날 기분에 따라 다양한 원두를 시도하는 분도 계실 겁니다.

프로그래밍 세계에도 이와 비슷한 두 가지 자료 구조가 존재하는데, 바로 리스트(List)와 튜플(Tuple)입니다.

오늘은 Python에서 자주 사용되는 리스트와 튜플의 차이점을 명확하게 정리하여, 상황에 맞는 효율적인 선택을 돕고자 합니다.

 

리스트(List)란 무엇일까요?

 

리스트는 Python에서 가장 흔하게 사용되는 데이터 구조 중 하나입니다.

마치 장바구니처럼 여러 종류의 데이터를 순서대로 담을 수 있는 '유연한 컨테이너'라고 생각하면 이해하기 쉽습니다.

리스트는 대괄호 `[]`를 사용하여 표현하며, 담겨있는 요소들은 언제든지 변경, 추가, 삭제가 가능하다는 특징을 가집니다.

예를 들어, 친구 목록, 구매 내역, 오늘의 할 일 등 다양한 정보를 리스트 하나에 담아 관리할 수 있습니다.

 

튜플(Tuple)이란 무엇일까요?

 

튜플은 리스트와 유사하지만, 결정적인 차이점이 있습니다.

바로 '불변성(Immutable)'입니다.

한번 생성된 튜플은 내부의 값을 변경할 수 없습니다.

마치 주민등록번호처럼, 생성된 후에는 수정할 수 없는 고정된 데이터들을 담기에 적합합니다.

튜플은 소괄호 `()`를 사용하여 표현하며, 리스트보다 메모리 효율성이 좋고, 데이터의 안정성을 보장할 수 있다는 장점이 있습니다.

 

리스트와 튜플, 주요 차이점 비교

 

리스트와 튜플의 가장 큰 차이점은 '변경 가능성'입니다.

리스트는 동적 배열로, 요소의 추가, 삭제, 변경이 자유롭습니다.

반면 튜플은 정적 배열로, 한번 생성되면 그 내용을 변경할 수 없습니다.

이러한 특징 때문에 리스트는 데이터가 자주 변경되는 상황에, 튜플은 데이터의 불변성이 중요한 상황에 적합합니다.

또한, 리스트는 `append()`와 같은 다양한 내장 함수를 제공하여 데이터 조작을 용이하게 하지만, 튜플은 이러한 기능이 제한적입니다.

 

리스트와 튜플, 사용 예시

 

리스트는 다양한 상황에서 활용될 수 있습니다.

예를 들어, 웹사이트의 사용자 목록을 관리하거나, 게임의 아이템 목록을 저장하는 데 사용할 수 있습니다.

반면 튜플은 좌표 정보(x, y), RGB 색상 코드(red, green, blue), 또는 데이터베이스 레코드와 같이 변경되어서는 안 되는 정보를 저장하는 데 유용합니다.

최근에는 튜플의 이러한 불변성을 활용하여 함수의 반환 값을 튜플로 만들어, 여러 개의 값을 안전하게 반환하는 방법도 많이 사용됩니다.

 

어떤 것을 선택해야 할까요?

 

리스트와 튜플 중 어떤 것을 선택할지는 상황에 따라 달라집니다.

데이터를 변경해야 한다면 리스트를, 데이터의 불변성을 유지해야 한다면 튜플을 선택하는 것이 좋습니다.

만약 프로그램의 성능이 중요한 요소라면, 튜플을 사용하는 것이 리스트보다 약간 더 효율적일 수 있습니다.

하지만, 대부분의 경우 리스트와 튜플의 성능 차이는 미미하므로, 가독성과 코드의 유지보수성을 고려하여 선택하는 것이 바람직합니다.

튜플은 크기를 변경할 순 없어도 두 개의 튜플을 합쳐서 새로운 튜플을 만들 수 있다는 점도 기억해두면 좋습니다.

 

오늘은 리스트와 튜플의 차이점을 살펴보고, 각각의 특징과 활용법에 대해 알아보았습니다.

리스트는 유연하고 동적인 데이터 관리에, 튜플은 불변성을 보장하는 데이터 관리에 적합하다는 점을 기억하세요.

프로그래밍을 하다 보면 어떤 자료 구조를 선택해야 할지 고민되는 순간들이 찾아올 텐데, 오늘 배운 내용을 바탕으로 상황에 맞는 최적의 선택을 하시길 바랍니다.

작은 선택들이 모여 효율적인 코드를 만들고, 나아가 더 나은 프로그램을 완성하는 밑거름이 될 것입니다.