# for 문(for-loop)
- 시퀀스나 반복 가능한 객체를 반복하는 데 사용되는 제어문
- 반복 범위를 지정한다.
# for 문의 구조
for <반복 변수> in <반복 범위>:
<코드 블록>
- <반복 변수>는 <반복 범위>에 따라 변하면서 <코드 블록>을 실행한다. 즉, for 문을 시작하면 <반복 범위>의 첫 번째 데이터가 <반복 변수>에 들어가고 <코드 블록>을 실행한다.
- 다음은 <반복 범위>의 두 번째 데이터가 <반복 변수>에 들어가고 <코드 블록>을 또 실행한다.
- 이 과정을 <반복 범위>의 마지막까지 반복한다.
- <코드 블록>에서 <반복 변수>를 이용할 수 있다.
- <반복 범위> 다음에 콜론(:)을 입력하고, <코드 블록>을 입력할 때는 들여쓰기를 한다.
# for 문의 반복 범위 지정
- 리스트를 이용하여 반복 범위 지정하기
for i in [0, 1, 2, 3, 4, 5]:
print(i)
# 0
# 1
# 2
# 3
# 4
# 5
nums = {1, 2, 3, 4, 5}
for num in nums:
print(num)
# 1
# 2
# 3
# 4
# 5
- 문자열을 이용하여 반복 범위 지정하기
strings = "Hello"
for text in strings:
print(text)
# H
# e
# l
# l
# o
- 튜플을 이용하여 반복 범위 지정하기
tuples = (1, 2, 3, 4)
for num in tuples:
print(num)
# 1
# 2
# 3
# 4
- range() 함수를 이용하여 반복 범위 지정하기
for i in range(3):
print(i)
# 0
# 1
# 2
# 중첩 for 문
for <반복 변수 1> in <반복 범위 1>:
for <반복 변수 2> in <반복 범위 2>:
<코드 블록>
- <반복 변수 1>의 첫 번째 데이터가 실행될 때 그 안에 있는 for 문을 만나게 되어 내부 for 문을 실행하고 다시 <반복 변수 1>의 두 번째 데이터가 실행될 때 내부 for 문을 수행한다.
- 이러한 과정을 모두 거쳐 중첩 for 문을 모두 마치면 코드가 끝난다.
- 중첩 for 문에서 내부 for 문과 <코드 블록>을 입력할 때도 각각 들여쓰기를 한다.
x_list = ['x1', 'x2']
y_list = ['y1', 'y2']
for x in x_list:
for y in y_list:
print(x, y)
# x1 y1
# x1 y2
# x2 y1
# x2 y2
- 구구단
for x in range(2, 10):
print(f'구구단 {x}단')
for y in range(1, 10):
print(f'{x} * {y} = {x * y}')
# 구구단 2단
# 2 * 1 = 2
# 2 * 2 = 4
# 2 * 3 = 6
# 2 * 4 = 8
# 2 * 5 = 10
# 2 * 6 = 12
# 2 * 7 = 14
# 2 * 8 = 16
# 2 * 9 = 18
# 구구단 3단
# 3 * 1 = 3
# 3 * 2 = 6
# 3 * 3 = 9
# 3 * 4 = 12
# 3 * 5 = 15
# 3 * 6 = 18
# 3 * 7 = 21
# 3 * 8 = 24
# 3 * 9 = 27
# .
# .
# .
# 구구단 9단
# 9 * 1 = 9
# 9 * 2 = 18
# 9 * 3 = 27
# 9 * 4 = 36
# 9 * 5 = 45
# 9 * 6 = 54
# 9 * 7 = 63
# 9 * 8 = 72
# 9 * 9 = 81
# 여러 개의 리스트 다루기
names = ["A", "B", "C"]
ages = [10, 20, 30]
for i in range(len(names)):
print(names[i], ages[i])
# A 10
# B 20
# C 30
# zip() 함수 이용하기
for name, age in zip(names, ages):
print(name, age)
# A 10
# B 20
# C 30
728x90
'Python' 카테고리의 다른 글
[Python] while 문 (0) | 2024.01.12 |
---|---|
[Python] 시퀀스 자료형(Sequence types) (2) | 2024.01.12 |
[Python] if 문 (0) | 2024.01.12 |
[Python] 딕셔너리(Dictionary) (0) | 2024.01.12 |
[Python] 얕은 복사(shallow copy) vs 깊은 복사(deep copy) (0) | 2024.01.12 |