[Python] 파이썬 반복(Repeat) 완벽 정복: for, while부터 itertools.repeat까지, 초보자도 쉽게 이해하는 방법
파이썬 반복(Repeat) 완벽 정복: for, while부터 itertools.repeat까지, 초보자도 쉽게 이해하는 방법
파이썬에서 반복(repeat)은 코드를 효율적으로 작성하고 반복적인 작업을 자동화하는 데 필수적인 요소입니다. 파이썬은 다양한 반복 방법을 제공하며, 각각의 방법은 특정 상황에 맞춰 최적화되어 있습니다. 이 글에서는 파이썬의 주요 반복 방법과 itertools.repeat
함수를 포함하여 다양한 반복 기술을 예제 코드와 함께 자세히 설명합니다.
1. for 루프: 시퀀스 순회
for
루프는 시퀀스(리스트, 튜플, 문자열 등)의 각 요소를 순회하며 코드를 반복 실행합니다.
my_list = [1, 2, 3, 4, 5]
for item in my_list:
print(item)
range()
함수와 함께 사용하면 특정 횟수만큼 코드를 반복 실행할 수 있습니다.
for i in range(5):
print(i) # 0부터 4까지 출력
2. while 루프: 조건 기반 반복
while
루프는 주어진 조건이 참(True)인 동안 코드를 반복 실행합니다.
count = 0
while count < 5:
print(count)
count += 1
while
루프는 조건이 거짓(False)이 될 때까지 무한히 반복될 수 있으므로, 종료 조건을 명확히 설정해야 합니다.
3. itertools.repeat: 특정 값 반복 생성
itertools.repeat
함수는 특정 값을 지정된 횟수만큼 반복하거나, 횟수를 지정하지 않으면 무한히 반복하는 이터레이터를 생성합니다.
import itertools
# 5를 3번 반복하는 이터레이터 생성
repeated_values = itertools.repeat(5, 3)
for value in repeated_values:
print(value) # 5가 3번 출력
# 무한히 'hello'를 반복하는 이터레이터 생성
infinite_repeater = itertools.repeat('hello')
# 반복을 제어하기 위해 break 조건 추가
count = 0
for value in infinite_repeater:
print(value)
count += 1
if count >= 3:
break
itertools.repeat
는 메모리 효율적으로 반복적인 데이터를 생성해야 할 때 유용합니다.
4. 반복 제어: break, continue
break
문은 루프를 즉시 종료하고, continue
문은 현재 반복을 건너뛰고 다음 반복을 시작합니다.
for i in range(10):
if i == 5:
break # i가 5가 되면 루프 종료
print(i)
for i in range(10):
if i % 2 == 0:
continue # 짝수면 다음 반복으로 건너뛰기
print(i) # 홀수만 출력
5. 리스트 컴프리헨션: 간결한 리스트 생성
리스트 컴프리헨션은 for
루프를 사용하여 리스트를 간결하게 생성하는 방법입니다.
squares = [x**2 for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
조건문을 추가하여 특정 조건에 맞는 요소만 포함할 수도 있습니다.
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares) # [0, 4, 16, 36, 64]
6. 결론
파이썬은 다양한 반복 방법을 제공하여 효율적인 코드 작성을 지원합니다. for
루프, while
루프, itertools.repeat
함수, break
, continue
문, 리스트 컴프리헨션 등 다양한 반복 기술을 익히고, 필요에 따라 적절한 방법을 선택하여 사용하면 더욱 강력하고 효율적인 파이썬 코드를 작성할 수 있습니다.