728x90
1
2
3
4
5
# for 문 기본 구조 예시
for something in 그룹형 변수:
~~~(something)~~~
nums = [1, 2, 3, 4, 5]
for number in nums:
print(number)
for something in 그룹형 변수:의 의미
for 루프는 그룹형 변수(리스트, 튜플, 딕셔너리, 문자열 등)의 각 요소를 순차적으로 가져와 반복하는 구조입니다.
1. something이란? (임시 변수)
something은 각 반복에서 그룹형 변수의 요소를 담을 변수입니다.
다른 이름을 사용해도 되며, 꼭 something이 아니어도 됩니다.
예를 들어, 다음 두 코드는 같은 의미입니다
nums = [1, 2, 3, 4, 5]
for item in nums: # 'item'을 사용
print(item)
for number in nums: # 'number'를 사용
print(number)
2. "이 그룹형 변수가 고갈될 때까지 한다"는 의미
"고갈된다"는 것은 그룹형 변수의 요소를 다 사용할 때까지 실행된다는 뜻입니다.
예를 들어, 리스트 [1, 2, 3, 4, 5]를 순회하는 경우:
처음 1을 가져와 print(1)
다음 2를 가져와 print(2)
… 계속 반복 …
마지막 5를 가져와 print(5)
더 이상 가져올 요소가 없으면 자동으로 종료! (고갈됨)
nums = [1, 2, 3, 4, 5]
for number in nums:
print(number)
1
2
3
4
5
3. "임시 변수를 사용하지 않고도 반복할 수 있다"는 의미
something을 생략할 수 있는 방법도 있습니다.
예를 들어, 인덱스만 사용하고 싶다면 range(len(리스트))를 사용하여 처리할 수도 있습니다.
nums = [1, 2, 3, 4, 5]
for i in range(len(nums)): # 요소 대신 인덱스만 사용
print(f"Index {i}: Value {nums[i]}")
Index 0: Value 1
Index 1: Value 2
Index 2: Value 3
Index 3: Value 4
Index 4: Value 5
4. "임시 변수 없이 반복"하는 경우
Python에서는 변수를 무시하고 싶다면 _ (언더스코어)를 사용할 수 있음.
예제 3: 변수를 무시하는 경우
nums = [1, 2, 3, 4, 5]
for _ in nums:
print("반복 실행")
반복 실행
반복 실행
반복 실행
반복 실행
반복 실행
→ 리스트의 요소를 직접 사용하지 않고, 그냥 반복만 수행하고 싶을 때 _ 사용
✔ for something in 그룹형 변수:에서 something은 각 요소를 담는 임시 변수이며, 다른 이름을 써도 됨
✔ 그룹형 변수가 고갈될 때까지 한다는 것은 모든 요소를 하나씩 사용하고 더 이상 없으면 자동 종료됨을 의미
✔ 변수 없이 반복하려면 언더스코어 _를 사용 가능
# 딕셔너리의 key-value 쌍을 출력
cage = {'Cat': '야옹', 'Dog': '멍멍', 'Tiger': '어흥'}
for item in cage.items(): # values + keys = items
print(item)
# 출력:
# ('Cat', '야옹')
# ('Dog', '멍멍')
# ('Tiger', '어흥')
# 숫자들의 리스트에서 1과 4가 연속으로 나오는 숫자 찾기
list_of_nums = [121142131512315, 1241561717265467, 153462615114151231, 1634263]
for num in list_of_nums:
if '14' in str(num): # 문자열 변환 후 '14' 포함 여부 확인
print(num)
# 문자열 내부에 특정 부분 문자열이 포함되는지 확인
print('yt' in 'python') # True 출력
- 딕셔너리 .items() 활용
- cage.items()는 (key, value) 쌍을 튜플 형태로 반환.
- 출력 결과: ('Cat', '야옹'), ('Dog', '멍멍'), ('Tiger', '어흥')
- in 연산자를 사용한 문자열 포함 여부 확인
- if '14' in str(num):
- 숫자를 문자열로 변환한 후 '14'가 포함되어 있는지 확인.
- if '14' in str(num):
- in 연산자는 문자열 간에도 사용 가능
- 'yt' in 'python' → True 출력됨
range(5)와 for 루프의 역할
for index in range(5):
print(index)
0
1
2
3
4
📌 range(5)란?
- range(5)는 숫자를 0부터 시작하여 5 이전까지 (0, 1, 2, 3, 4) 생성하는 함수
- for index in range(5):를 사용하면 0부터 4까지 숫자를 하나씩 반복문에서 꺼내 사용
📌 for 루프와 range(5)의 관계
- for index in range(5):는 특정한 코드를 5회 실행하는 구조입니다.
- range(5)가 주어진 숫자 앞(5 이전)까지의 숫자를 순차적으로 꺼내줌 → 즉, 0, 1, 2, 3, 4를 차례로 가져옴.
- 이 index 값을 활용하여 반복 동작을 수행할 수 있습니다.
2. 리스트 변형을 위한 for 루프
students = ['철수', '영희', '동수']
empty_list = []
for student in students:
empty_list.append('김' + student) # 리스트에 item 추가하기
empty_list
['김철수', '김영희', '김동수']
📌 코드 분석
students = ['철수', '영희', '동수'] → 원본 그룹형 변수(리스트)
empty_list = [] → 결과를 담을 빈 리스트
for student in students: → students 리스트에서 한 명씩 student에 저장하며 반복
'김' + student → 각 이름 앞에 "김"을 붙여 empty_list에 추가
결과적으로 empty_list에는 ['김철수', '김영희', '김동수']가 저장됨.
📌 for문 위에 있는 코드가 주인공인가?
주인공은 students 리스트(원본 데이터)와 empty_list(결과 데이터)
for문은 데이터를 변형하는 과정이므로 보조 역할을 합니다.
즉, 원본 데이터를 어떻게 변형해서 원하는 결과를 만드는지가 핵심입니다.
📌 더 쉽게 이해하는 방법
- 원본 그룹형 변수: students = ['철수', '영희', '동수']
- 결과물: ['김철수', '김영희', '김동수']
- 중간 과정: for 루프를 사용하여 이름 앞에 '김'을 붙임.
주어진 리스트(원본)와 최종 결과(주인공)를 비교하면 코드가 하는 일을 더 쉽게 이해할 수 있음!
- range(n)은 0부터 n-1까지의 숫자를 차례로 꺼내며 반복 실행함.
- for 문을 사용하면 특정한 코드를 n번 반복 실행 가능.
- 리스트 변형을 위한 for 문에서는 원본 리스트(그룹형 변수)와 결과 리스트(주인공 코드)를 비교하면 쉽게 이해할 수 있음.
- for 문은 데이터를 변형하는 과정이며, 원본 데이터와 결과 데이터를 비교하면 코드의 역할을 더 쉽게 파악할 수 있음.
728x90
'01_기초과정 > 파이썬' 카테고리의 다른 글
코드 네이밍 패턴 설명 (0) | 2025.03.20 |
---|---|
while (0) | 2025.03.19 |
if (0) | 2025.03.18 |
리스트 & 딕트 & 튜플 & 집합(set) (0) | 2025.02.19 |
객체의 속성(Attribute)과 메서드(Method) (0) | 2025.02.19 |