2023년 6월 업데이트
안녕하세요. SQLER의 코난 김대우입니다.
이번 강좌에서는, Python 초급 강좌 목차 - 12. 반복문(Loop): for, while을 진행토록 하겠습니다.
SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록
코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 실행하시면 됩니다.
예를 들어, 12_loop.py를 생성하고 코드를 실행합니다.
TL;DR
Python의 for와 while 반복문에 대해 설명합니다. for 문의 range 설정으로 반복 횟수를 지정하고, 조건 충족시까지 반복하는 while 반복문도 소개합니다.
Python 초급 강좌 목차 - 12. 반복문(Loop): for, while
Python에서 제공하는 loop 구문인 for문과 while문입니다. 다양한 변형 방안이 있지만, 기본 포맷만 이해하고 사용해도 충분합니다.
For 루프
For 루프는 array 또는 collection의 각 항목을 순서대로 가져와서 정의한 변수에 할당합니다.
다음 코드는 일반적인 for loop 구문입니다.
for name in ['Christopher', 'Susan']: print(name)
for문은 대상 개체(위의 경우 두 개의 이름이 포함된 list)에 대해, 포함된 item의 범위(여기서는 2)만큼 반복을 수행하면서 개별 item을 name 변수로 저장하고 코드블록을 실행하고 반복합니다.
여기서, 지정된 횟수만큼 반복 실행하는 것을 조금 더 살펴보면.
# range는 array를 생성합니다 # 첫 번째 파라미터는 시작값입니다. # 두 번째 파라미터는 종료 숫자를 의미합니다. # range(0, 2)는 [0, 1]을 생성합니다. for index in range(0, 2): print(index)
이렇게 range를 이용해 반복을 수행할 횟수를 지정하는 것도 가능합니다.
☑️ 챗GPT 활용: python range 예제 알려줘
While 루프
While 루프는 조건이 true인 작업을 만날 때까지 계속 작업을 수행합니다.
names = ['Christopher', 'Susan'] index = 0 while index < len(names): print(names[index]) # 조건을 변경하세요. index = index + 1
한 단계 더 - 효율적으로 loop를 활용하는, enumerate과 zip
이후 for문에서 자동 iterable 개체에 대해 counter를 출력하는 enumerate()이나, zip 정도만 더 알아두셔도 좋습니다.
enumerate()
range(len(object)) - 이러한 패턴의 iter개체의 서수를 구하기 위해 사용할 필요 없이 처리 가능합니다.
names = ['Christopher', 'Susan'] for i, name in enumerate(names): print(i, name) ===결과=== 0 Christopher 1 Susan
zip()
여러 개체들을 병렬로 iteration 할 때 유용합니다. 결과는 tuple 형태로 출력됩니다.
names = ['Christopher', 'Susan'] roles = ['artist', 'developer'] for zipped in zip(names, roles): print(zipped) ===결과=== ('Christopher', 'artist') ('Susan', 'developer')
많은 도움 되시길 바랍니다.
파이썬 강좌 책 구매
강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다.
책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터
참고자료
개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝
Python enumerate(): Simplify Looping With Counters – Real Python
Using the Python zip() Function for Parallel Iteration – Real Python