파이썬 리스트와 반복문 기초 정리
파이썬에서 자주 사용하는 리스트(List)와 반복문(for, while)을 배웠고 정리하였습니다.
1. 리스트(List)란?
리스트는 여러 개의 값을 하나의 변수에 저장할 수 있는 자료형입니다. 대괄호 []를 사용해서 만들며, 각 요소는 순서대로 저장됩니다.
list_a = [273, 12, "안녕", True, False]
리스트의 순서는 0부터 시작합니다.
list_a = [12, 14, "안녕", True]
list_a[2] = "변경"
print(list_a)
위 코드에서는 인덱스 2번 위치의 값을 "안녕"에서 "변경"으로 수정했습니다.
리스트 길이 구하기
리스트 안에 요소가 몇 개 들어 있는지 확인할 때는 len() 함수를 사용합니다.
print("len(list_a) =", len(list_a))
리스트 값 추가하기
리스트의 맨 뒤에 값을 추가할 때는 append(), 원하는 위치에 삽입할 때는 insert()를 사용합니다.
list_a.append(3) # 맨 뒤에 추가
list_a.insert(1, "Hello") # 1번 위치에 삽입
print(list_a)
2. for 반복문
for 반복문은 반복 횟수가 정해져 있거나, 리스트 같은 자료를 처음부터 끝까지 순서대로 확인할 때 사용합니다.
기본 예제
for i in range(5):
print("출력", i)
위 코드는 0부터 4까지 총 5번 반복합니다.
리스트와 함께 사용하기
array = [273, 32, 103, 57, 52]
for element in array:
print(element)
리스트 안에 있는 요소를 하나씩 꺼내서 출력할 수 있습니다.
실생활 예제 1: 장바구니 품목 확인
basket = ["사과", "바나나", "우유", "빵", "계란"]
print("--- 장바구니 품목 계산 시작 ---")
for item in basket:
print(f"'{item}' 계산 완료!")
print("--- 장바구니 품목 계산 끝 ---")
실생활 예제 2: 정해진 횟수만큼 반복
for day in range(1, 8):
print(f"오늘 {day}일차 운동 완료!")
print("일주일 운동 목표 달성!")
3. range 함수
range() 함수는 일정한 범위의 숫자를 만들어 반복문에서 자주 사용됩니다.
range(5)
a = range(5)
print(a)
print(list(a))
range(5)는 0부터 4까지의 숫자를 의미합니다.
range(0, 10, 2)
b = range(0, 10, 2)
print(b)
print(list(b))
range(0, 10, 2)는 0부터 10 전까지 2씩 증가합니다.
결과는 [0, 2, 4, 6, 8] 입니다.
a: 시작 숫자
b: 끝 숫자(포함되지 않음)
c: 증가 폭
4. while 반복문
while 반복문은 조건이 참(True)인 동안 계속 반복합니다. 반복 횟수가 정해져 있지 않을 때 자주 사용합니다.
기본 예제
i = 0
while i < 10:
print("{}번째 반복입니다".format(i))
i += 1
위 코드는 i가 10보다 작은 동안 반복합니다.
실생활 예제 1: ATM 인출
balance = 5000
withdrawal_amount = 1000
print("--- ATM 인출 시작 ---")
while balance >= withdrawal_amount:
print(f"현재 잔고: {balance}원. {withdrawal_amount}원 인출합니다.")
balance -= withdrawal_amount
print(f"남은 잔고: {balance}원")
print("잔고가 부족하여 더 이상 인출할 수 없습니다. ATM 종료.")
실생활 예제 2: 목표 점수 달성까지 게임하기
import random
target_score = 100
current_score = 0
attempts = 0
print("--- 게임 시작 ---")
while current_score < target_score:
attempts += 1
points_earned = random.randint(10, 30)
current_score += points_earned
print(f"{attempts}번째 시도: {points_earned}점 획득! 현재 점수: {current_score}점")
print(f"축하합니다! 목표 점수 {target_score}점을 달성했습니다! 총 {attempts}번 시도했습니다.")
리스트에서 특정 값 모두 제거하기
list_test = [1, 2, 1, 2]
value = 2
while value in list_test:
list_test.remove(value)
print(list_test)
위 코드는 리스트 안에 2가 있는 동안 계속 제거합니다.
따라서 조건이 언젠가 거짓이 되도록 코드를 작성해야 합니다.
5. for문과 while문의 차이
for 반복문
- 반복 횟수가 정해져 있을 때 사용
- 리스트, 문자열 등 순회할 때 유용
- 시작과 끝이 비교적 명확함
while 반복문
- 특정 조건이 참인 동안 반복
- 반복 횟수를 미리 알기 어려울 때 사용
- 조건을 잘못 설정하면 무한 루프가 될 수 있음
for문 예시
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
for i in range(3):
print(f"Hello {i}")
while문 예시
count = 0
while count < 3:
print(f"Count: {count}")
count += 1
6. break와 continue
continue
continue는 현재 반복만 건너뛰고 다음 반복으로 넘어갑니다.
print('--- continue 예시 ---')
for i in range(5):
if i == 2:
print(f'{i}는 건너뜁니다.')
continue
print(f'현재 숫자: {i}')
print('--- continue 예시 종료 ---')
break
break는 반복문 자체를 완전히 종료합니다.
print('--- break 예시 ---')
for i in range(5):
if i == 3:
print(f'{i}일 때 반복문을 종료합니다.')
break
print(f'현재 숫자: {i}')
print('--- break 예시 종료 ---')
while True와 break 예시
i = 0
while True:
print("{}번째 반복문입니다.".format(i))
i = i + 1
input_text = input("> 종료하시겠습니까?(y/n) : ")
if input_text in ["y", "Y"]:
print("반복을 종료합니다.")
break
위 예시는 무한 반복문을 만들고, 사용자가 y 또는 Y를 입력하면 종료하는 방식입니다.
7. 핵심 요약
- 리스트는 여러 값을 저장하는 자료형이다.
len()으로 길이를 구할 수 있다.append()는 맨 뒤에 추가,insert()는 원하는 위치에 삽입한다.- for문은 반복 횟수가 정해져 있을 때 유용하다.
- while문은 조건이 참인 동안 계속 반복한다.
continue는 현재 반복만 건너뛴다.break는 반복문 전체를 종료한다.
리스트와 반복문은 파이썬의 가장 기본이 되는 개념입니다. 직접 코드를 여러 번 실행해보면서 익히면 훨씬 더 쉽게 이해할 수 있습니다.
'개발일지 > python' 카테고리의 다른 글
| 함수 정리 (매개변수, return, 기본값까지) (0) | 2026.04.10 |
|---|---|
| 리스트 개념 문제 풀이 (0) | 2026.04.10 |
| 리스트와 딕셔너리의 차이 (0) | 2026.04.09 |
| 순차구조 연습 (1) (0) | 2026.04.07 |
| 선택구조 연습 (2) (0) | 2026.04.07 |