01_기초과정/파이썬

for

jiniby 2025. 3. 18. 19:14
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 출력
  1. 딕셔너리 .items() 활용
    • cage.items()는 (key, value) 쌍을 튜플 형태로 반환.
    • 출력 결과: ('Cat', '야옹'), ('Dog', '멍멍'), ('Tiger', '어흥')
  2. in 연산자를 사용한 문자열 포함 여부 확인
    • if '14' in str(num):
      • 숫자를 문자열로 변환한 후 '14'가 포함되어 있는지 확인.
  3. 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 루프를 사용하여 이름 앞에 '김'을 붙임.

주어진 리스트(원본)와 최종 결과(주인공)를 비교하면 코드가 하는 일을 더 쉽게 이해할 수 있음!

 

 

  1. range(n)은 0부터 n-1까지의 숫자를 차례로 꺼내며 반복 실행함.
  2. for 문을 사용하면 특정한 코드를 n번 반복 실행 가능.
  3. 리스트 변형을 위한 for 문에서는 원본 리스트(그룹형 변수)와 결과 리스트(주인공 코드)를 비교하면 쉽게 이해할 수 있음.
  4. 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