이미지
Day 17 예외 처리: 에러가 나도 당황하지 않는 법 프로그램의 멈춤을 방지하는 든든한 보호막, try-except 안녕하세요! 16일차에서 파일을 읽어오는 법을 배웠죠? 그런데 만약 읽으려는 파일이 없다면 어떻게 될까요? 파이썬은 즉시 빨간색 에러 메시지를 띄우며 작동을 멈춰버립니다. 하지만 예외 처리 를 배우면 에러 상황을 우아하게 넘길 수 있습니다. 1. try-except: "일단 해보고, 안되면 대처해!" 가장 기본적인 안전장치 구조입니다. try 블록에는 원래 하려던 코드를, except 에는 에러가 났을 때 할 행동을 적습니다. 실행 (try) ➡️ 에러 발생 시 대처 (except) ➡️ 계속 실행 try: num = int(input("숫자를 입력하세요: ")) print(f"입력하신 숫자는 {num}입니다.") except ValueError: print("⚠️ 오류: 숫자가 아닌 글자가 입력되었습니다!") print("프로그램이 종료되지 않고 계속 실행됩니다.") 2. 에러의 종류에 따라 다르게 대처하기 파이썬에는 다양한 에러(Exception)가 있습니다. 어떤 에러가 났느냐에 따라 다른 안내 메시지를 줄 수 있습니다. try: a = [10, 20, 30] index = int(input("인덱스 번호를 입력하세요: ")) print(a[index] / 0) # 인덱스 에러와 0으로 나누기 에러 가능성! except IndexError: print("목록...

리스트(List) 기초 (인덱싱, 슬라이싱, 값 추가/삭제)

Day 4

파이썬 리스트(List): 데이터의 '기차'를 만들어보자

여러 개의 데이터를 하나로 묶어 관리하는 가장 강력한 도구, 리스트 정복하기

안녕하세요! 어제 배운 연산자로 숫자를 계산하는 법을 익혔다면, 오늘은 그 소중한 데이터들을 흩어지지 않게 한곳에 모으는 법을 배울 차례입니다. 변수 100개를 만드는 대신 리스트 하나면 충분합니다!

1. 리스트(List): 여러 값을 하나로 묶는 바구니

리스트는 대괄호 [ ]를 사용하며, 그 안에 쉼표,로 값들을 구분해서 넣습니다. 숫자, 문자열, 심지어 다른 리스트까지도 담을 수 있는 만능 바구니죠.

# 리스트 만들기 예시
fruits = ["사과", "바나나", "포도", "딸기"]
mixed = [1, "Hello", True, [1, 2, 3]] # 다양한 타입 가능!
empty = [] # 비어있는 리스트도 가능

2. 위치 찾기: 인덱싱과 슬라이싱

리스트에서 가장 중요한 점은 "숫자를 0부터 센다"는 것입니다. 이를 인덱싱이라고 합니다.

필독! 파이썬은 첫 번째 항목을 1번이 아닌 0번이라고 부릅니다. 마지막 항목은 -1로도 부를 수 있어요 (역순 찾기).

슬라이싱(Slicing) - "여기서부터 여기까지!"

리스트의 일부분을 잘라낼 때는 리스트[시작:끝] 형태를 사용합니다. 이때 끝 인덱스는 포함되지 않는다는 점을 주의하세요!

nums = [0, 10, 20, 30, 40, 50]

print(nums[0])      # 결과: 0 (첫 번째)
print(nums[-1])     # 결과: 50 (마지막)
print(nums[1:4])    # 결과: [10, 20, 30] (인덱스 1, 2, 3까지!)

3. 리스트 자유자재로 다루기 (수정, 추가, 삭제)

리스트는 한 번 만들면 내용을 자유롭게 바꿀 수 있습니다. 자주 쓰이는 명령어(메서드)들을 정리해 드릴게요.

기능 명령어(메서드) 설명
추가 .append(값) 리스트 맨 뒤에 값을 추가합니다. (가장 많이 씀!)
삽입 .insert(위치, 값) 원하는 위치에 값을 끼워 넣습니다.
제거 .remove(값) 해당 값을 찾아 삭제합니다.
정렬 .sort() 가나다/숫자 순서대로 정렬합니다.
# 리스트 조작 예시
colors = ["red", "blue"]
colors.append("green")  # ['red', 'blue', 'green']
colors[0] = "yellow"    # ['yellow', 'blue', 'green']
print(len(colors))      # 결과: 3 (리스트의 길이/개수)

💡 4일차 궁금증 해결 (Q&A)

Q1. nums[1:4]라고 했는데 왜 4번째 값은 안 나오나요?

A1. 파이썬 슬라이싱의 규칙입니다. [시작 : 끝]에서 끝은 '미만'을 의미해요. 즉, 1 <= index < 4인 항목들만 가져오는 것이죠. 이 규칙은 나중에 배울 반복문에서도 똑같이 적용되니 꼭 익숙해지셔야 합니다!

Q2. 리스트 안에 또 리스트를 넣을 수 있나요?

A2. 네! 이를 '중첩 리스트'라고 합니다. matrix = [[1, 2], [3, 4]]처럼 사용하면 행렬 같은 복잡한 데이터 구조도 만들 수 있습니다. matrix[0][1]처럼 대괄호를 연속해서 써서 값을 꺼낼 수 있어요.

Q3. append()extend()의 차이가 뭔가요?

A3. append()는 리스트 자체를 하나의 덩어리로 추가하고, extend()는 리스트 안의 내용물만 쏙 빼서 기존 리스트를 확장합니다. 예를 들어 [1, 2].append([3, 4])[1, 2, [3, 4]]가 되지만, extend를 쓰면 [1, 2, 3, 4]가 됩니다.

오늘의 미션 🚩

좋아하는 연예인이나 음식을 담은 리스트 5개를 만들고,
1. 중간에 새로운 항목을 하나 추가하고
2. 가나다순으로 정렬한 뒤 출력해보세요!

도움이 되셨다면 공감🧡을 눌러주세요!
내일은 이 리스트를 더 스마트하게 활용하는 5일차: 조건문(if)으로 돌아오겠습니다.

댓글

이 블로그의 인기 게시물

초보 파이썬 따라하기: 7가지 실전 프로젝트로 매일 코딩 습관 만들기

조건문(if, elif, else) 배우기

초보자를 위한 Step-by-Step: 리스트와 인덱싱으로 값을 추가/삭제해 Python 기초 잡기