파이썬에서 for문을 이용하여 반복문을 작성하는 몇 가지 예제를 보여드리도록 하겠습니다.
파이썬 for문 기본형(range 이용)
for문을 사용할 수 있는 가장 기본적인 방법인 range(숫자)를 이용해서 원하는 횟수만큼 코드를 반복 실행하는 예시를 먼저 보여드리겠습니다.
cnt = 0
sum = 0
# range(10)은 0, 1, 2, ..., 9 의미
for i in range(10):
cnt += 1
sum += i
print(cnt) # 10
print(sum) # 0 + 1 + 2 + ... + 9 = 45
윗 코드에서는 i가 0부터 9까지 1씩 올라가면서 실행이 되게 됩니다.
range(1, 10, 2) 처럼 작성하면 i가 1, 3, 5, 7, 9로 총 5번 실행이 되게 되고,
np.arange 등 range를 대체할 수 있는 기능을 가진 iterator 종류도 사용이 가능합니다.
for문 순회 예시(리스트, 튜플, 딕셔너리, ...)
이번에는 리스트나 튜플 등 자료형 내 원소들에 대해서 순회하는 예시를 보여드리겠습니다. 참고로, iterate가 가능하게 설계된 자료형이면 모두 아래와 같은 in을 이용한 for문 순회가 가능합니다.
cnt = 0
sum = 0
list_a = [1, 3, 5]
# i가 1, 3, 5로 바뀌면서 실행
for i in list_a:
cnt += 1
sum += i
print(cnt) # 3
print(sum) # 1 + 3 + 5 = 9
cnt = 0
sum = 0
dict_a = {'a' : 1, 'b' : 2}
# dict_a의 value들의 모임인 1, 2에 대해서 수행
for val in dict_a.values():
cnt += val
sum += val
print(cnt) # 2
print(sum) # 1 + 2 = 3
enumerate를 이용한 순서 정보 동시 순회
이번에는 enumerate를 이용한 순서 정보를 동시에 순회하는 예시입니다.
앞의 인자는 현재 자료가 순회하고 있는 자료 중 몇 번째인지를 나타내므로, 때에따라 유용하게 쓰일 수 있습니다.
sum_i = 0
sum_j = 0
list_a = [1, 3, 5, 7]
# i는 0, 1, 2, 3으로 몇 번째인지를 나타내며 순회, j는 리스트 내 요소 순회
for i, j in enumerate(list_a):
sum_i += i
sum_j += j
print(sum_i) # 0 + 1 + 2 + 3 = 6
print(sum_j) # 1 + 3 + 5 + 7 = 16
break, continue를 통한 for문 제어
break를 만나면 for문은 실행 종료가 됩니다. continue문을 만나면 현재 순회를 마치고 바로 다음 순회로 넘어갑니다.
아래 예제를 통해서 살펴보도록 하겠습니다.
cnt = 0
sum = 0
list_a = [1, 2, 3, 6, 10]
# i가 1, 2일때는 정상 수행
# i가 3일때는 continue를 만나 바로 6으로 진행
# i가 6이면 for문 순회가 멈추고 10은 미진행
for i in list_a:
if i == 3:
continue
cnt += 1
sum += i
if i == 6:
break
print(cnt) # i가 1, 2, 6일 때 실행 = 3
print(sum) # 1 + 2 + 6 = 9
이중 for문 이상의 다중 for문(구구단 예시)
마지막으로 for문 여러개가 겹쳐 있는 다중 for문에 대해서 살펴보겠습니다.
다음은 구구단을 출력하는 예시 코드입니다.
for i in range(2, 10):
for j in range(2, 10):
print(i, 'x', j, '=', i * j)
print('-' * 10)
위 코드처럼 작성하시면 구구단을 출력할 수 있게 됩니다.
for문 내에 if문, while 문 등을 넣는 것도 마찬가지로 자유자재로 가능합니다.
이상으로 파이썬 for문 사용법에 대한 간단한 예제들을 살펴보았습니다.
'Python > 파이썬 기초' 카테고리의 다른 글
파이썬 def 함수 선언 case 총정리 (argument, return) (0) | 2021.12.03 |
---|---|
파이썬 기초 자료형 2 : 튜플(tuple) (0) | 2021.12.01 |
파이썬 기초 자료형 : 딕셔너리(dict) (0) | 2021.11.30 |