Python

[Python] for 문

주댕이 2024. 1. 12. 16:07

# 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