본문으로 건너뛰기

교육 ·

비전공자 파이썬 튜플 배우는 법, 리스트랑 뭐가 다른가요

비전공자 파이썬 튜플 배우는 법, 왜 헷갈릴까요

파이썬을 배우다 보면 리스트(list) 다음에 반드시 튜플(tuple)이 등장합니다. 겉모습은 대괄호 []가 소괄호 ()로 바뀐 것뿐이라 “이걸 왜 따로 배워야 하지”라는 생각이 들기 쉽습니다. 하지만 튜플은 리스트와 달리 값을 한번 만들면 바꿀 수 없다는 결정적 차이가 있고, 이 특성 덕분에 실무 자동화 스크립트에서 실수를 크게 줄여줍니다.

이미 비전공자 파이썬 리스트 배우는 법을 보셨다면, 오늘은 그 다음 단계로 리스트와 튜플을 나란히 놓고 언제 무엇을 써야 하는지 실무 관점에서 정리해 보겠습니다.

리스트와 튜플, 코드로 먼저 비교해보기

가장 큰 차이는 “수정 가능 여부”입니다. 리스트는 값을 넣고 빼고 바꿀 수 있지만, 튜플은 한번 만들어지면 내용을 바꿀 수 없습니다. 코드로 보면 바로 체감됩니다.

# 리스트는 수정이 가능합니다
직원명단 = ["김민수", "이서연", "박지훈"]
직원명단[0] = "최영호"
print(직원명단)  # ['최영호', '이서연', '박지훈']

# 튜플은 수정이 불가능합니다
좌표 = (37.7854, 127.0454)
좌표[0] = 37.0  # TypeError: 'tuple' object does not support item assignment

에러가 나는 게 이상해 보일 수 있지만, 이건 버그가 아니라 튜플의 정체성입니다. 좌표, 주민등록번호 앞자리, 사업자등록번호처럼 “한번 정해지면 절대 바뀌면 안 되는 값”을 담을 때 오히려 이 에러 메시지가 실수를 막아주는 안전장치가 됩니다. 에러 메시지 자체가 무엇을 뜻하는지 궁금하다면 비전공자를 위한 에러 메시지 읽는 법도 함께 참고하시면 좋습니다.

실무에서 튜플을 언제 써야 하나요

정리하면 답은 간단합니다. 값이 앞으로도 바뀔 가능성이 있다면 리스트를, 값의 묶음 자체가 고정된 의미를 가지고 절대 바뀌면 안 된다면 튜플을 씁니다. 예를 들어 거래처별 담당자 목록은 계속 추가·삭제되니 리스트가 맞고, 하나의 주문 건에 대한 (주문번호, 거래처명, 주문일자)처럼 이미 확정된 한 묶음의 정보는 튜플이 더 자연스럽습니다.

# 주문 한 건의 정보 - 확정된 값이므로 튜플로 관리
주문정보 = ("ORD-2026-0719", "㈜양주전자", "2026-07-19")

주문번호, 거래처명, 주문일자 = 주문정보
print(f"{거래처명}{주문일자} 주문건, 번호는 {주문번호}입니다.")

이렇게 튜플 안의 값을 한 번에 여러 변수에 나눠 담는 것을 “언패킹(unpacking)“이라고 부릅니다. 엑셀에서 한 행의 값을 여러 셀로 나누는 느낌과 비슷하다고 생각하면 이해가 쉽습니다.

리스트 vs 튜플, 핵심만 정리

함수 리턴값에서 튜플이 자주 보이는 이유

실무에서 튜플을 직접 만들 일보다 더 자주 마주치는 상황은 파이썬 함수가 튜플을 반환할 때입니다. 함수 하나에서 여러 값을 동시에 돌려줘야 할 때 파이썬은 튜플을 활용합니다. 함수를 처음 만드는 방법이 궁금하다면 비전공자를 위한 파이썬 함수 입문을 먼저 보셔도 좋습니다.

def 매출요약(매출리스트):
    총합 = sum(매출리스트)
    평균 = 총합 / len(매출리스트)
    최고값 = max(매출리스트)
    return 총합, 평균, 최고값  # 사실은 튜플로 반환됩니다

이번달매출 = [1200000, 980000, 1540000, 870000]
총합, 평균, 최고값 = 매출요약(이번달매출)

print(f"총합: {총합:,}원, 평균: {평균:,.0f}원, 최고: {최고값:,}원")

return 총합, 평균, 최고값처럼 쉼표로 값을 나열하면 파이썬은 자동으로 이를 하나의 튜플로 묶어서 돌려줍니다. pandas로 데이터를 다룰 때도 .shape처럼 (행 개수, 열 개수) 형태의 튜플을 결과로 받는 경우가 흔합니다. pandas 학습 순서가 막막하다면 비전공자 파이썬 라이브러리, 뭐부터 배워야 할까요를 참고해 보세요.

딕셔너리의 키로도 쓰이는 튜플

튜플의 또 다른 실무 활용은 딕셔너리의 키(key)로 쓰이는 경우입니다. 딕셔너리 키는 반드시 변경 불가능한 값이어야 하는데, 리스트는 이 조건을 만족하지 못하지만 튜플은 가능합니다. 예를 들어 (연도, 월)을 키로 하는 매출 데이터를 만들 때 유용합니다.

월별매출 = {
    (2026, 6): 15200000,
    (2026, 7): 16800000,
}

print(월별매출[(2026, 7)])  # 16800000

딕셔너리 자체가 아직 낯설다면 비전공자 파이썬 딕셔너리 배우는 법을 먼저 확인하시면 이 예시가 훨씬 쉽게 이해됩니다.

튜플, 리스트, 딕셔너리 중 뭐부터 익숙해지면 될까요

실무 자동화 스크립트를 작성할 때는 리스트와 딕셔너리를 압도적으로 더 자주 씁니다. 튜플은 처음부터 직접 만들 일은 적더라도, 함수의 반환값이나 좌표·날짜 같은 고정값을 다룰 때 “왜 이 값이 소괄호로 나오지”를 이해하는 용도로 알아두면 충분합니다. 처음 튜플 문법을 외우려 하지 말고, 코드를 읽다가 소괄호로 묶인 값을 만났을 때 “이건 바뀌지 않는 값 묶음이구나”라고 알아채는 정도만 목표로 잡아도 학습 부담이 크게 줄어듭니다.

정리하며

튜플은 리스트의 축소판이 아니라 “고정된 값 묶음”이라는 별도의 역할을 가진 자료구조입니다. 값이 바뀔 가능성이 있으면 리스트, 이미 확정된 정보 묶음이면 튜플이라는 기준만 기억해두면 실무 코드를 읽고 쓰는 데 큰 어려움이 없습니다. 처음에는 함수 반환값에서 튜플을 마주치는 경험부터 시작해서, 점차 직접 좌표나 고정 정보를 튜플로 다뤄보는 식으로 익숙해지시면 됩니다.

픽셀앤코드는 경기 양주 지역 중소기업과 공공기관을 대상으로 비전공자 실무자를 위한 파이썬·업무 자동화 교육을 진행하고 있습니다. 리스트, 딕셔너리, 튜플처럼 헷갈리는 기초 개념부터 실제 업무 데이터에 적용하는 실습까지, 각 조직의 반복 업무에 맞춘 커리큘럼으로 안내해 드릴 수 있습니다.