파이썬(Python)

[ Basic ] 파이썬 for 문에 대한 다양한 활용

카루루1007 2023. 3. 24. 22:49
728x90
반응형
SMALL

파이썬의 for 문무엇인가를 반복하는데 사용합니다.

반복하는 대상문자열이 될 수도 있고

리스트나, 튜플, 혹은 숫자의 범위가 될 수도 있습니다.

 

파이썬에서 for 문의 기본적인 형태는 다음과 같습니다.

for 목록의 내용 in 목록:

목록에는 여러가지 내용이 있을 수 있습니다.

그 내용들을 하나씩 반복을 하게 됩니다.

 

몇 가지 예를 보면서 for 문에 대한 기본적인 것을 알아보겠습니다.

for i in range(1, 5):
    print(i)

 ※ range() 함수에 대한 설명은 여기를 참고하세요

 

[ Basic ] Python Range()

◆ Range() 함수 소개 Range() 함수는 파이썬의 내장함수로 특별히 무언가를 import 하지 않아도 사용할 수 있습니다. 파이썬의 내장함수는 아래에서 확인할 수 있습니다. ※ 내장함수 목록 앞서 사용

karuru1007.tistory.com

위 코드의 결과는 다음과 같습니다.

1
2
3
4

range(1, 5)는 [ 1, 2, 3, 4 ]라는 숫자의 목록입니다.

1부터 차례대로 i 에 들어갑니다.

그렇기 때문에 위에서 보는 결과대로 출력이 됩니다.

목록에는 문자열도 들어갈 수 있습니다.

for letter in "Python":
    print(letter)

위 코드를 실행하면다음과 같은 결과가 나타납니다.

P
y
t
h
o
n

문자열이 하나의 문자로 나뉘어져 변수 letter에 들어가고

문자열에 포함된 문자의 갯수만큼 반복됩니다.

결국 위 결과대로 출력이 됩니다.

 

리스트나 튜플도 가능합니다.

리스트를 예를들어 보겠습니다.

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

위 코드의 결과는 다음과 같습니다.

apple
banana
cherry

fruits에 있는 apple, banana, cherry 가 차례대로 fruit라는 변수에 들어가고

print() 함수를 통해 하나씩 출력이 됩니다.

 

튜플 역시 일련의 연속된 값이므로 for 문과 함께 사용이 가능합니다.

fruits = ('apple', 'banana', 'cherry')

for i, fruit in enumerate(fruits):
    print(i, fruit)

위 코드의 결과는 다음과 같습니다.

0 apple
1 banana
2 cherry

참고로 enumerate() 함수는 연속된 값에 인덱스를 붙여 반환합니다.

즉 apple는 첫번째 값이므로 0 과 apple 를 반환합니다.

 

for 문과 else 문이 함께 사용이 가능합니다.

for문과 else를 같이 사용할 경우

else 문은 for 문이 모두 실행 된 후 마지막으로 실행이 됩니다.

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
else:
    print("No more fruits.")

  위 코드의 결과는 다음과 같습니다.

apple
banana
cherry
No more fruits.

 

반응형
SMALL

for ~ else 문의 구조는

반복중에 원하는 항목을 찾지 못했을 때 사용하기도 합니다.

fruits = ['apple', 'banana', 'orange']

for fruit in fruits:
    if fruit == 'mango':
        print('Found mango!')
        break
else:
    print('Mango not found.')

위 코드는 리스트 내에 mango 가 있는 지 확인을 합니다.

만약 있다면 Found mango! 를 출력하고

for 문을 빠져나옵니다. 

만약에 mango 를 찾았다면 else 문은 실행되지 않습니다. 

하지만 위 코드에서는 mango 가 없기 때문에 

else 문이 실행이 되서 결과는 다음과 같습니다.

Mango not found.

 

마지막으로 for 문 역시 중첩으로 사용이 가능합니다.

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for adjective in adj:
    for fruit in fruits:
        print(adjective, fruit)

이런식으로 for 문의 중첩사용이 가능하며

위 코드의 경우 아래와 같은 결과가 나타납니다.

red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherry
728x90
반응형
LIST