안녕하세요! 스마트인재개발원 파이썬 공부 기록입니다.
지난 시간에 리스트의 기본 구조와 인덱싱/슬라이싱을 배웠다면, 이번 시간에는 리스트를 내 마음대로 추가·수정·삭제·정렬할 수 있는 핵심 내장 함수들과 리스트의 단짝인 '튜플(Tuple)'에 대해 알아보겠습니다! 🚀
1. 리스트를 내 마음대로! 리스트 주요 함수 (메서드)
리스트는 가변적이어서 생성한 후에도 데이터를 마음대로 조작할 수 있습니다. 실무에서 가장 많이 쓰이는 함수들을 정리해 볼게요!
append(값): 리스트의 맨 마지막에 새로운 값을 차곡차곡 추가합니다.insert(인덱스번호, 값): 원하는 특정 인덱스 위치에 값을 쏙 집어넣습니다.- 값 수정:
리스트명[인덱스번호] = 새로운값형태로 기존 데이터를 덮어씌워 수정합니다. - 삭제 (
delvsremove)del 리스트명[인덱스번호]: 특정 방 번호(인덱스)를 지정해서 삭제합니다.리스트명.remove(값): 삭제하고 싶은 실제 값을 직접 지정해서 삭제합니다.
- 정렬 (
sort&reverse)리스트명.sort(): 오름차순(기본)으로 정렬하며,reverse=True를 넣으면 내림차순으로 정렬됩니다.리스트명.reverse(): 데이터의 순서를 단순히 거꾸로 뒤집어 줍니다.
- 위치 반환과 길이 (
index&len)리스트명.index(값): 특정 값이 몇 번 인덱스에 있는지 위치를 알려줍니다.len(리스트명): 리스트에 들어있는 전체 요소의 개수(길이)를 반환합니다.
💡 리스트 함수 실습 코드
list7 = [1, 2, 3, 4]
# 1. 값 추가 (append & insert)
list7.append(5) # [1, 2, 3, 4, 5]
list7.insert(2, 9) # [1, 2, 9, 3, 4, 5] (2번 인덱스에 9 추가)
# 2. 값 수정
list8 = [2, 7, 8, 9, 1]
list8[1] = 3 # 1번 인덱스의 7을 3으로 수정 -> [2, 3, 8, 9, 1]
# 3. 값 삭제 (del & remove)
list9 = ['a', 'b', 'c', 'd', 'e']
del list9[2] # 'c' 삭제 -> ['a', 'b', 'd', 'e']
list9.remove('e') # 'e' 값 삭제 -> ['a', 'b', 'd']
# 4. 정렬과 길이 구하기
list10 = [9, 5, 8, 7, 1]
list10.sort() # 오름차순 정렬
list10.sort(reverse=True) # 내림차순 정렬
print(len(list10)) # 리스트 길이 출력

2. 데이터가 변하면 안 될 때! 튜플(Tuple)
튜플은 리스트와 아주 비슷하지만, 결정적인 차이가 있는 파이썬의 또 다른 자료구조입니다.
- 생성 방법: 소괄호
()를 사용하며, 내부 값은 콤마(,)로 구분합니다. - 특징: 리스트와 마찬가지로 인덱싱과 슬라이싱을 통해 데이터를 꺼내 쓸 수 있습니다.
- 불변성 (Immutable): 리스트와 달리 한 번 생성되면 요소의 추가, 수정, 삭제가 불가능합니다! (실행하면
AttributeError나 에러가 발생해요). 유일하게 사용할 수 있는 함수는 전체 길이를 구하는len()정도입니다.
💡 튜플 실습 및 특징 코드
# 1. 튜플 생성
tuple1 = ()
tuple2 = (1, 2, 3)
tuple3 = ('썸머', '공부 중', 3)
# 2. 인덱싱과 슬라이싱은 가능!
print(tuple3[0]) # '썸머' 출력
print(tuple3[0:2]) # ('썸머', '공부 중') 출력
# 3. 추가, 수정, 삭제 시도 시 에러 발생!
# tuple3.append('안녕') -> 에러!
# tuple3[0] = '여름' -> 에러!

3. 리스트 vs 튜플, 언제 무엇을 써야 할까요?
- 공통점: 자료형에 상관없이 여러 데이터를 하나로 묶어 관리할 수 있고, 순서(인덱스)가 있어 인덱싱/슬라이싱이 가능합니다.
- 차이점 요약:
- 리스트
[]: 가변적(Mutable). 요소가 언제든 추가·변경될 수 있는 유연한 상황에 사용합니다. - 튜플
(): 불변적(Immutable). 프로그램 실행 중에 절대 값이 바뀌면 안 되는 중요한 데이터를 안전하게 보호하고 싶을 때 사용합니다.
📝 오늘 공부를 마치며
데이터를 다루는 양대 산맥인 리스트와 튜플까지 정복 완료했습니다!
다음 기록부터는 파이썬의 꽃이라고 할 수 있는 반복문(for, while)으로 더 신나는 코딩 세계를 펼쳐볼게요. 다음 빌드 일지에서 만나요! 🚀🦢✨
'Development(개발 공부) > Python & AI' 카테고리의 다른 글
| [Python] 파이썬 기초 12: 만능 일꾼 `for` 반복문과 `range()`, 그리고 리스트의 만남 💻✨ (0) | 2026.10.23 |
|---|---|
| [Python] 파이썬 기초 11: 조건이 참인 동안 실행되는 `while` 반복문과 무한루프 탈출하기 💻✨ (0) | 2026.10.22 |
| [Python] 파이썬 기초 09: 여러 데이터를 하나로! 리스트(List) 기초와 인덱싱·슬라이싱 💻✨ (0) | 2026.10.19 |
| [Python] 파이썬 기초 심화 02: 조건문 실전 활용 (학점 계산기 & 자판기 프로그램) (0) | 2026.10.19 |
| [Python] 파이썬 기초 심화편 01: 조건문 실전 예제 마스터하기 (입장료 계산기 & 홀짝 판별기) (0) | 2026.10.16 |