Python for loop [with easy examples]

파이썬의 for 루프는 반복 기능입니다. 리스트와 같은 순서 객체가 있다면 for 루프를 사용하여 리스트에 포함된 항목을 반복할 수 있습니다.

for 루프의 기능은 다른 여러 프로그래밍 언어에서 볼 수 있는 것과 크게 다르지 않습니다.

이 기사에서는 파이썬 for 루프에 대해 자세히 알아보고, 리스트, 튜플 등 다양한 순서에 대해 반복하는 방법을 배우겠습니다. 또한, break와 continue 문을 사용하여 루프의 흐름을 제어하는 방법도 배우게 될 것입니다.

파이썬 for 루프의 기본 구문

파이썬에서 for 루프의 기본 구문은 다음과 유사합니다.

for itarator_variable in sequence_name:
	Statements
	. . .
	Statements

파이썬 for 루프의 구문을 좀 더 설명해 드리겠습니다.

  • 문장의 첫 번째 단어는 “for” 키워드로 시작하여 for 루프의 시작을 나타냅니다.
  • 다음으로는 순서를 반복하는 반복 변수가 있으며, 루프 내에서 다양한 기능을 수행하는 데 사용할 수 있습니다.
  • 그 다음은 파이썬에서의 “in” 키워드로, 반복 변수가 순서 내의 요소에 대해 루프를 실행하도록 지시합니다.
  • 그리고 마지막으로, 우리는 시퀀스 변수를 가지고 있습니다. 이 변수는 리스트, 튜플 또는 다른 종류의 반복자일 수 있습니다.
  • 루프의 일부인 문장은 반복자 변수를 사용하고 다양한 기능을 수행할 수 있는 곳입니다.

1. for 루프를 사용하여 문자열의 각 문자를 인쇄합니다.

Python 문자열은 문자의 시퀀스입니다. 프로그래밍 응용 프로그램 중 어디에서든 문자열의 각 문자를 개별적으로 검토해야 할 경우 여기에서 for 루프를 사용할 수 있습니다.

다음은 그것이 작동하는 방법입니다.

word="anaconda"
for letter in word:
	print (letter)

출력:

a
n
a
c
o
n
d
a

이 루프가 작동하는 이유는 Python이 문자열을 전체적으로 보는 대신 “문자”의 시퀀스로 간주하기 때문입니다.

2. Python 리스트 또는 튜플을 반복하는 데 for 루프 사용

리스트와 튜플은 반복 가능한 객체입니다. 이제 이러한 객체 내의 요소를 순환하는 방법을 살펴보겠습니다.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
	print (word)

출력:

Apple
Banana
Car
Dolphin

이제 튜플의 요소를 순환하는 방법에 대해 알아보겠습니다.

nums = (1, 2, 3, 4)

sum_nums = 0

for num in nums:
    sum_nums = sum_nums + num

print(f'Sum of numbers is {sum_nums}')


# 출력


# 숫자의 합은 10입니다.


3. Python for 루프 중첩

다른 for 루프 안에 있는 for 루프를 중첩 for 루프라고 합니다. 중첩된 for 루프에는 여러 응용이 있습니다.

위의 리스트 예제를 고려해보십시오. for 루프는 리스트에서 개별 단어를 출력합니다. 하지만 리스트 내 각 단어의 개별 문자를 출력하려면 어떻게 해야 할까요?

이때 중첩된 for 루프가 더 잘 작동합니다. 첫 번째 루프(상위 루프)는 한 번에 한 단어씩 진행합니다. 두 번째 루프(하위 루프)는 각 단어의 문자를 순환합니다.

words= ["Apple", "Banana", "Car", "Dolphin" ]
for word in words:
        
#이 루프는 리스트에서 단어를 가져옵니다.

        print ("The following lines will print each letters of "+word)
        for letter in word:
                
#이 루프는 단어에서 글자를 가져옵니다.

                print (letter)
        print("") 
#이 출력은 빈 줄을 출력하는 데 사용됩니다.

출력

4. range() 함수와 함께하는 Python for 루프

Python의 range()는 내장 함수 중 하나입니다. 특정 횟수만큼 for 루프를 실행하거나 출력할 객체의 범위를 지정해야 할 때 range 함수가 정말 유용합니다. 다음 예시를 살펴보겠습니다. 여기서 1, 2, 3을 출력하려고 합니다.

for x in range(3):
    print("Printing:", x)
	
# 출력

# 출력: 0
# 출력: 1
# 출력: 2

range 함수는 시작과 끝 이외의 다른 매개변수도 받습니다. 이것이 바로 step 매개변수입니다. 이것은 각 카운트 사이에 건너뛸 숫자를 range 함수에 알려줍니다.

아래 예시에서는 step으로 숫자 3을 사용했고 출력된 숫자는 이전 숫자 + 3을 볼 수 있습니다.

for n in range(1, 10, 3):
    print("Printing with step:", n)
	
# 출력

# 단계별 출력: 1
# 단계별 출력: 4
# 단계별 출력: 7

5. for 루프와 함께 사용되는 break 문

break 문은 for 루프를 조기에 종료하는 데 사용됩니다. 특정 조건이 충족될 때 for 루프를 중단하는 데 사용됩니다.

숫자 목록이 있고 숫자가 있는지 확인하려면 어떻게 할까요? 숫자 목록을 반복하고 숫자를 찾으면 남은 요소를 계속 반복할 필요가 없으므로 루프를 종료합니다.

이 경우에는 for 루프와 함께 Python if else 조건을 사용합니다.

nums = [1, 2, 3, 4, 5, 6]

n = 2

found = False
for num in nums:
    if n == num:
        found = True
        break

print(f'List contains {n}: {found}')

# 결과
# 목록에 2가 포함되어 있음: 참

6. for 루프와 함께 사용되는 continue 문

for 루프 내에서 특정 조건에 대해 for 루프 본문의 실행을 건너뛰기 위해 continue 문을 사용할 수 있습니다.

숫자 목록이 있고 양수의 합계를 출력하려면 continue 문을 사용하여 음수에 대한 for 루프를 건너뜁니다.

nums = [1, 2, -3, 4, -5, 6]

sum_positives = 0

for num in nums:
    if num < 0:
        continue
    sum_positives += num

print(f'Sum of Positive Numbers: {sum_positives}')

6. 파이썬 for 루프와 else 블록

파이썬 for 루프와 함께 else 블록을 사용할 수 있습니다. else 블록은 for 루프가 break 문에 의해 종료되지 않았을 때에만 실행됩니다.

모든 숫자가 짝수일 때에만 숫자의 합계를 출력하는 함수가 있다고 가정해 봅시다.

만약 홀수가 포함되어 있다면 for 루프를 종료하기 위해 break 문을 사용할 수 있습니다. 따라서 else 부분에 합계를 출력하여 for 루프가 정상적으로 실행될 때에만 출력되도록 할 수 있습니다.

def print_sum_even_nums(even_nums):
    total = 0

    for x in even_nums:
        if x % 2 != 0:
            break

        total += x
    else:
        print("For loop executed normally")
        print(f'Sum of numbers {total}')


# 이것은 합계를 출력할 것입니다.
print_sum_even_nums([2, 4, 6, 8])

# 이것은 시퀀스에 홀수가 있기 때문에 합계를 출력하지 않을 것입니다.
print_sum_even_nums([2, 4, 5, 8])

# 결과

# for 루프가 정상적으로 실행됨
# 숫자의 합계 20

결론

파이썬의 for 루프는 다른 프로그래밍 언어와 매우 유사합니다. for 루프에서 break와 continue 문을 사용하여 실행을 변경할 수 있습니다. 그러나 파이썬에서는 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.

Source:
https://www.digitalocean.com/community/tutorials/python-for-loop-example