파이썬의 for 루프는 반복 함수입니다. 리스트와 같은 시퀀스 객체가 있는 경우, for 루프를 사용하여 리스트에 포함된 항목을 반복할 수 있습니다.
for 루프의 기능은 다른 여러 프로그래밍 언어에서 볼 수 있는 것과 크게 다르지 않습니다.
이 기사에서는 파이썬 for 루프를 자세히 살펴보고, 리스트, 튜플 등 다양한 시퀀스를 반복하는 방법을 배우겠습니다. 또한 break 및 continue 문을 사용하여 루프의 흐름을 제어하는 방법을 익힐 것입니다.
for 루프를 사용하는 시점
특정 코드 블록을 일정 횟수만큼 반복해야 할 때 사용합니다. 반복 횟수를 모르는 경우 “while 루프” 문을 대신 사용하십시오.
파이썬의 for 루프 구문
파이썬의 for 루프의 기본 구문은 아래와 같습니다.
Python for 루프 구문 상세
- 문장의 첫 번째 단어는 키워드 “for”로 시작되며 이는 for 루프의 시작을 나타냅니다.
- 그런 다음에는 순서를 반복하고 루프 내에서 다양한 기능을 수행하기 위해 사용할 수 있는 반복자 변수가 있습니다.
- 다음은 파이썬에서의 “in” 키워드로, 반복자 변수에 시퀀스 내 요소를 반복하도록 지시합니다.
- 마지막으로, 리스트, 튜플 또는 기타 이터레이터 일 수 있는 시퀀스 변수가 있습니다.
- 루프의 문장 부분은 반복자 변수를 사용하여 다양한 기능을 수행할 수 있는 곳입니다.
for 루프를 사용하여 문자열의 개별 글자 출력
파이썬 문자열은 문자의 시퀀스입니다. 프로그래밍 애플리케이션 중 어느 곳에서든 문자열의 문자를 개별적으로 처리해야 할 경우 여기서 for 루프를 사용할 수 있습니다.
다음은 그 작업 방법입니다.
출력:
이 루프가 작동하는 이유는 파이썬이 문자열을 전체적으로 보는 것이 아니라 문자의 시퀀스로 간주하기 때문입니다.
파이썬 리스트 또는 튜플을 반복하는 데 for 루프 사용하기
리스트와 튜플은 반복 가능한 객체입니다. 이제 이러한 객체 내의 요소를 반복하는 방법을 살펴보겠습니다.
출력:
이제 튜플의 요소를 반복하는 작업을 진행해 보겠습니다.
파이썬 for 루프 중첩
다른 for 루프 내에 있는 for 루프를 중첩된 for 루프라고합니다. 중첩된 for 루프의 다양한 응용이 있습니다.
위의 목록 예제를 고려해보십시오. for 루프는 목록에서 개별 단어를 인쇄합니다. 그러나 목록 내 각 단어의 개별 문자를 인쇄하려면 어떻게해야 할까요?
여기서 중첩된 for 루프가 더 잘 작동합니다. 첫 번째 루프(상위 루프)는 한 번에 한 단어씩 이동합니다. 두 번째 루프(하위 루프)는 각 단어의 문자를 반복합니다.
결과
A nested loop is structurally similar to nested if
statements
range() 함수를 사용한 Python for 루프
Python range는 내장 함수 중 하나입니다. for 루프를 특정 횟수만큼 실행하거나 인쇄할 객체의 범위를 지정해야 할 때, range 함수가 정말 잘 작동합니다.
range()
를 사용할 때, 1에서 3개의 정수 인수를 전달할 수 있습니다:
start
는 시퀀스가 시작하는 정수 값을 나타내며, 이 값이 포함되지 않으면start
는 0부터 시작합니다stop
은 항상 필요하며, 이 값까지는 세지만 포함되지 않습니다단계
는 다음 반복에서 얼마나 증가할지(음수의 경우 감소할지)를 설정하며, 이것이 생략된 경우단계
는 기본값으로 1을 사용합니다.
다음 예제를 고려해 보겠습니다. 여기서는 숫자 1, 2, 3을 출력하려고 합니다:
range 함수는 시작과 중지 이외의 다른 매개변수를 가져옵니다. 이것이 단계 매개변수입니다. 이는 각 카운트 사이에 건너뛸 숫자를 range 함수에 알려줍니다.
아래 예제에서는 단계로 숫자 3을 사용했으며, 출력 숫자가 이전 숫자 + 3임을 볼 수 있습니다.
우리는 또한 단계
인수에 음수 값을 사용하여 역으로 반복할 수 있지만, 이 경우 시작
및 중지
인수를 조정해야 합니다:
여기서 100은 시작
값이고, 0은 중지
값이며, -10
은 범위이므로 루프는 100에서 시작하여 0에서 끝나며, 각 반복마다 10씩 감소합니다. 이는 출력에서 발생합니다:
Output100
90
80
70
60
50
40
30
20
10
파이썬에서 프로그래밍할 때, for
루프는 종종 이터레이션에 대한 매개변수로 range()
시퀀스 유형을 사용합니다.
for 루프와 함께 break 문
break 문은 for 루프를 조기에 종료하는 데 사용됩니다. 특정 조건이 충족될 때 for 루프를 종료하는 데 사용됩니다.
숫자 목록이 있고 특정 숫자가 있는지 여부를 확인하려고 한다고 가정해 봅시다. 숫자 목록을 반복하고 숫자가 발견되면 나머지 요소를 계속 반복할 필요가 없으므로 루프를 종료합니다.
이 경우에는 우리의 for 루프와 함께 Python if else 조건을 사용할 것입니다.
for 루프와 함께 continue 문
for 루프 내에서 continue 문을 사용하여 특정 조건에 대해 for 루프 본문의 실행을 건너뛸 수 있습니다.
우리는 숫자 목록이 있고 양수의 합계를 출력하려고 한다고 가정해 봅시다. 음수를 건너뛰기 위해 continue 문을 사용할 수 있습니다.
파이썬 for 루프와 else 블록
우리는 else 블록을 파이썬 for 루프와 함께 사용할 수 있습니다. else 블록은 for 루프가 break 문에 의해 종료되지 않을 때에만 실행됩니다.
모든 숫자가 짝수인 경우에만 숫자의 합계를 출력하는 함수가 있다고 가정해 봅시다.
홀수가 있으면 for 루프를 종료하기 위해 break 문을 사용할 수 있습니다. for 루프가 정상적으로 실행될 때만 else 부분에서 합계를 출력하도록하여 합계가 출력되도록 할 수 있습니다.
순차 데이터 유형을 사용한 for 루프
리스트와 다른 데이터 시퀀스 유형은 for
루프의 반복 매개변수로 활용할 수 있습니다. range()
를 통해 반복하는 대신에 리스트를 정의하고 그 리스트를 반복할 수 있습니다.
우리는 리스트를 변수에 할당하고, 그리고 나서 리스트를 반복합니다:
이 경우에는 리스트의 각 항목을 출력합니다. 우리는 변수 shark
를 사용했지만, 다른 유효한 변수 이름을 사용해도 동일한 출력을 얻을 수 있습니다:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
위의 출력은 for
루프가 리스트를 반복하고, 리스트의 각 항목을 한 줄에 하나씩 출력한 것을 보여줍니다.
리스트와 다른 시퀀스 기반 데이터 유형들은 루프와 함께 사용하기에 흔하며, 이는 반복 가능하기 때문입니다. 이러한 데이터 유형들을 range()
와 결합하여 리스트에 항목을 추가할 수 있습니다. 예를 들어:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
여기서, 우리는 sharks
리스트의 길이만큼 각 항목에 대한 'shark'
의 자리 표시자 문자열을 추가했습니다.
또한 for
루프를 사용하여 처음부터 리스트를 구성할 수도 있습니다:
이 예에서 integers
리스트는 비어 있게 초기화되지만 for
루프는 다음과 같이 리스트를 채웁니다:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
마찬가지로 문자열을 반복할 수 있습니다:
OutputS
a
m
m
y
튜플을 반복하는 것은 위의 리스트나 문자열을 반복하는 것과 동일한 형식으로 수행됩니다.
사전을 반복할 때는 사전의 키 : 값 구조를 주의하여 사전의 올바른 요소를 호출하는 것이 중요합니다. 다음은 키와 값 모두를 호출하는 예제입니다:
Outputname: Sammy
animal: shark
location: ocean
color: blue
사전을 for
루프와 함께 사용할 때, 반복 변수는 사전의 키에 해당하고 dictionary_variable[iterating_variable]
는 값에 해당합니다. 위의 경우 반복 변수 key
는 키를 나타내는 데 사용되었고, sammy_shark[key]
는 값을 나타내는 데 사용되었습니다.
루프는 종종 순차적 데이터 유형을 반복하고 조작하는 데 사용됩니다.
결론
Python의 for 루프는 다른 프로그래밍 언어와 매우 유사합니다. 우리는 for 루프와 함께 break와 continue 문을 사용하여 실행을 변경할 수 있습니다. 그러나 Python에서는 for 루프에 선택적인 else 블록을 가질 수도 있습니다.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
여기서는 while 루프와 break, continue 및 pass 문에 대한 자습서를 읽으면서 루핑에 대해 계속 학습할 수 있습니다.
프로젝트에서 for
루프를 사용하는 방법을 배우려면 다음 자습서를 따르세요:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3