학습 자료 글/파이썬 시작하기

[파이썬 기초 시리즈 4]리스트와 튜플 기초편

cedis 2026. 3. 23. 15:51
파이썬 기초 완성형 시리즈 · 04장
리스트 · 튜플 · 순서형 자료형 · 인덱싱 · 수정과 불변성

리스트와 튜플 기초편
여러 값을 한 번에 담고 순서대로 다루는 감각 익히기

이 장에서는 파이썬에서 여러 값을 묶어 다룰 때 가장 먼저 배우는 리스트튜플을 정리합니다. 값을 하나만 저장하던 단계에서 벗어나, 여러 데이터를 순서대로 저장하고, 꺼내고, 수정하고, 비교하는 방식을 익히는 것이 핵심입니다.
이 장에서 배우는 것
  • 리스트와 튜플이 왜 필요한지 이해합니다.
  • 여러 값을 하나의 변수에 묶어 저장하는 방법을 익힙니다.
  • 인덱싱과 슬라이싱으로 요소를 꺼내는 법을 배웁니다.
  • 리스트는 수정 가능, 튜플은 수정 불가라는 차이를 정리합니다.
  • append, insert, remove, pop 같은 기본 리스트 메서드를 익힙니다.
이 장을 끝내면
  • 관련 있는 여러 값을 하나의 자료형으로 정리할 수 있습니다.
  • 리스트와 튜플 중 어떤 것이 더 적절한지 판단할 수 있습니다.
  • 기본 리스트 조작 코드를 직접 작성할 수 있습니다.
  • 다음 장의 딕셔너리와 집합을 배우기 위한 자료형 감각이 훨씬 좋아집니다.
1

왜 여러 값을 한 번에 담아야 할까

지금까지는 이름, 나이, 문자열 같은 값을 각각 변수 하나에 저장했습니다. 그런데 실제 프로그램은 보통 값 하나보다 값의 묶음을 더 많이 다룹니다. 예를 들어 과일 목록, 시험 점수들, 할 일 목록, 회원 이름 모음처럼 같은 성격의 데이터를 여러 개 저장해야 하는 상황이 자주 생깁니다.

이때 값을 각각 따로 저장하면 관리가 어려워집니다. fruit1, fruit2, fruit3처럼 늘어놓는 것보다, 하나의 자료형에 순서대로 담아 두는 편이 훨씬 효율적입니다. 이런 역할을 가장 대표적으로 수행하는 것이 리스트와 튜플입니다.

리스트란 무엇인가

리스트는 여러 값을 순서대로 저장하는 자료형입니다. 대괄호 [ ]를 사용하며, 안에는 쉼표로 구분한 여러 요소가 들어갑니다.

fruits = ["사과", "바나나", "포도"]
print(fruits)
리스트는 같은 자료형끼리만 담아야 하는 것은 아닙니다. 숫자, 문자열, 불리언을 섞어서 넣을 수도 있습니다. 다만 초보자 단계에서는 비슷한 성격의 값을 함께 묶는 용도로 이해하는 것이 가장 좋습니다.
리스트 핵심 특징
순서가 있다
첫 번째, 두 번째처럼 위치를 기준으로 다룰 수 있습니다.
수정할 수 있다
값을 바꾸거나 추가·삭제할 수 있습니다.
반복문과 잘 맞는다
나중에 for문과 함께 매우 자주 사용됩니다.

리스트를 그림처럼 이해하기

0
1
2
사과
바나나
포도
fruits = ["사과", "바나나", "포도"]
print(fruits[0])
print(fruits[1])
print(fruits[-1])
문자열에서 배운 것처럼 리스트도 인덱싱을 사용할 수 있습니다. 앞에서 세면 0부터, 뒤에서 세면 -1부터 시작합니다.

리스트 슬라이싱

numbers = [10, 20, 30, 40, 50]
print(numbers[1:4])
print(numbers[:3])
print(numbers[3:])
리스트도 문자열과 마찬가지로 슬라이싱이 가능합니다. 즉, 순서형 자료형은 비슷한 규칙으로 다뤄진다는 감각을 익히는 것이 중요합니다.

리스트 길이 구하기

todos = ["운동", "공부", "독서"]
print(len(todos))
len() 함수는 리스트 안에 요소가 몇 개 있는지 알려 줍니다. 반복 처리나 데이터 개수 확인에서 자주 쓰입니다.

리스트는 수정할 수 있다

리스트의 가장 큰 특징 중 하나는 수정 가능하다는 점입니다. 이미 만들어 둔 리스트의 특정 요소를 다른 값으로 바꿀 수 있습니다.

수정 예시
fruits = ["사과", "바나나", "포도"]
fruits[1] = "딸기"
print(fruits)
해석
인덱스 1번 자리에 있던 바나나딸기로 바꿨습니다. 즉 리스트는 만들어진 뒤에도 내용이 바뀔 수 있습니다.

자주 쓰는 리스트 메서드

append()
numbers = [1, 2, 3]
numbers.append(4)
print(numbers)
맨 뒤에 새 요소를 추가합니다.
insert()
numbers = [1, 3]
numbers.insert(1, 2)
print(numbers)
원하는 위치에 요소를 끼워 넣습니다.
remove()
fruits = ["사과", "바나나", "포도"]
fruits.remove("바나나")
print(fruits)
값을 기준으로 요소를 삭제합니다.
pop()
fruits = ["사과", "바나나", "포도"]
item = fruits.pop()
print(item)
print(fruits)
마지막 요소를 꺼내면서 리스트에서 제거합니다.

자주 하는 리스트 실수

numbers = [1, 2, 3]
print(numbers[3])
리스트 길이가 3이면 인덱스는 0, 1, 2까지만 있습니다. 3번 인덱스는 범위를 벗어나므로 오류가 납니다.

또 다른 실수

numbers = [1, 2, 3]
numbers.remove(4)
리스트에 없는 값을 삭제하려고 하면 오류가 날 수 있습니다. 삭제 전에 값이 실제로 들어 있는지 확인하는 습관이 중요합니다.

튜플이란 무엇인가

튜플도 리스트처럼 여러 값을 순서대로 담는 자료형입니다. 차이는 한 번 만들면 내용을 바꿀 수 없다는 점입니다. 튜플은 소괄호 ( )를 사용합니다.

튜플 생성
point = (3, 4)
print(point)
print(point[0])
튜플 해석
좌표, 날짜, 변경되면 안 되는 설정값처럼 고정된 묶음을 표현할 때 튜플이 잘 어울립니다.

리스트와 튜플의 가장 중요한 차이

리스트
수정 가능
items = [1, 2, 3]
items[0] = 100
튜플
수정 불가
point = (1, 2)
# point[0] = 100  ← 오류 발생
바뀔 수 있는 데이터 묶음이면 리스트, 바꾸지 않을 고정된 묶음이면 튜플로 이해하면 초반에는 충분합니다.

튜플 언패킹

point = (3, 4)
x, y = point
print(x)
print(y)
튜플의 각 값을 여러 변수에 나누어 담는 것을 언패킹이라고 합니다. 좌표나 여러 반환값 처리에서 자주 쓰입니다.

튜플도 인덱싱 가능

colors = ("red", "green", "blue")
print(colors[1])
print(colors[:2])
튜플도 순서형 자료형이기 때문에 인덱싱과 슬라이싱은 가능합니다. 단지 수정만 할 수 없을 뿐입니다.

한눈에 보는 리스트 vs 튜플 비교표

구분
리스트
튜플
언제 쓰면 좋은가
기호
[ ]
( )
형태 자체를 빠르게 구분할 때
수정 가능 여부
가능
불가능
바뀌는 데이터인지 아닌지 판단할 때
활용 예시
할 일 목록, 장바구니, 점수 목록
좌표, 날짜, 고정 설정값
실제 용도를 떠올리며 고르기
공통점
둘 다 순서가 있고 인덱싱·슬라이싱이 가능합니다.
 
 

짧은 종합 예제

subjects = ["파이썬", "수학", "영어"]
subjects.append("과학")
subjects[1] = "데이터 분석"
print(subjects)

point = (10, 20)
x, y = point
print(x, y)
리스트는 새 값을 추가하고 기존 값을 수정했습니다. 반면 튜플은 좌표처럼 고정된 값을 저장하고, 언패킹으로 나누어 꺼냈습니다. 이 차이가 바로 두 자료형의 핵심입니다.

이 장의 핵심 요약

리스트와 튜플은 여러 값을 순서대로 담는 대표적인 자료형입니다.
둘 다 인덱싱과 슬라이싱이 가능하므로 순서형 자료형의 감각을 키우기에 좋습니다.
리스트는 수정 가능, 튜플은 수정 불가라는 차이를 반드시 기억해야 합니다.
append, insert, remove, pop은 리스트를 다룰 때 매우 자주 쓰는 기본 메서드입니다.

체크리스트

□ 리스트와 튜플이 모두 여러 값을 담는 자료형이라는 점을 이해했다.
□ 리스트는 수정 가능하고 튜플은 수정 불가하다는 점을 설명할 수 있다.
□ 리스트에서 인덱싱과 슬라이싱을 직접 해 볼 수 있다.
□ append, insert, remove, pop 중 두 개 이상을 직접 사용할 수 있다.

미니 연습문제

  1. 좋아하는 음식 3개를 리스트로 만들고, 맨 뒤에 하나를 더 추가해 보세요.
  2. 숫자 3개가 들어 있는 튜플을 만들고 첫 번째 값과 마지막 값을 출력해 보세요.
  3. 리스트와 튜플의 차이를 자신의 말로 두 문장 이상 정리해 보세요.
Next Chapter
05장에서는 키와 값으로 데이터를 저장하는 딕셔너리와, 중복을 제거하는 집합 자료형으로 넘어가 더 다양한 데이터 구조를 배우게 됩니다.
이제는 여러 값을 순서대로 다룰 수 있게 되었습니다. 다음 장에서는 순서보다 의미 연결이 중요한 자료형을 익히게 됩니다.