파이썬의 for 문은 무엇인가를 반복하는데 사용합니다.
반복하는 대상은 문자열이 될 수도 있고
리스트나, 튜플, 혹은 숫자의 범위가 될 수도 있습니다.
파이썬에서 for 문의 기본적인 형태는 다음과 같습니다.
for 목록의 내용 in 목록:
목록에는 여러가지 내용이 있을 수 있습니다.
그 내용들을 하나씩 반복을 하게 됩니다.
몇 가지 예를 보면서 for 문에 대한 기본적인 것을 알아보겠습니다.
for i in range(1, 5):
print(i)
※ range() 함수에 대한 설명은 여기를 참고하세요
위 코드의 결과는 다음과 같습니다.
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.
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
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ 크롤링-Selenium ] Selenium 업데이트 webdriver 설치 없이 브라우저 실행 (0) | 2023.08.18 |
---|---|
[ Basic ] 파이썬 가상환경을 사용하는 이유와 가상환경 설정방법 (0) | 2023.03.27 |
[ Tkinter, Re ] 텍스트 파일(txt)을 불러와 공백 제거하기 (0) | 2023.03.19 |
[ Basic ] 파이썬 with 구문 : with ~ as (0) | 2023.03.17 |
[ Basic ] 파이썬 if __name__ == "__main__" 구문 (0) | 2023.03.16 |