영감이 번뜩이는 삶

[파이썬 입문] 제어문 - for문 본문

Python 도전기

[파이썬 입문] 제어문 - for문

돌굴러가유피하세유 2022. 11. 26. 21:00
반응형

반복중 중 하나인 for문에 대해 알아볼께유
for문은 조건문을 만족하면 실행되는게 아니라 for 바로 뒤에 오는 변수가 바뀌면서 실행돼유
변수에는 리스트 또는 튜플 또는 문자열의 요소가 처음부터 끝까지 대입되는 형태여유

기본적인 구조는 다음과 같아유

for <변수> in <리스트or튜플or문자열> :
...    실행할 문장
...

 

예시를 보면 이렇게도 사용할 수 있구나 느낄 수 있어유

더보기

>>> x = [(1, 2), (3, 4), (5, 6)]
>>> for (i, j) in x:
...     print("i성분 : %d, j성분 : %d" % (i, j))
...
i성분 : 1, j성분 : 2
i성분 : 3, j성분 : 4
i성분 : 5, j성분 : 6


리스트와 튜플을 활용해서 여러 변수를 한번에 지정할 수도 있구만유

 

while문에서와 마찬가지로 continue문을 사용해서 변수에 따라 선택적으로 문장을 실행시킬 수 있어유

더보기

>>> x = [1, 2, 3, 4, 5, 6]
>>> for i in x:
...     if i % 3 != 0: continue #조건문이 만족하면 continue문 동작
...     print("%d는 3의 배수입니다." % i)
...
3는 3의 배수입니다.
6는 3의 배수입니다.

 

이때 위 예시처럼 연속된 숫자로 이루어진 객체를 만들어주는 range 함수를 자주 사용하니 알아두면 좋아유
range(시작번호, 끝번호) : 시작번호부터 끝번호-1까지를 포함하는 객체
시작번호 생략 시 0부터 끝번호-1까지
이를 토대로 위 예시와 비슷하게 활용해보면?

더보기

>>> for i in range(1,7):
...     if i % 2 != 0: continue
...     print("%d는 2의 배수입니다." % i)
...
2는 2의 배수입니다.
4는 2의 배수입니다.
6는 2의 배수입니다.

 

 

 

for문은 특이하게 리스트 내에 포함시켜 표현할 수 있는 리스트 내포라는 방식이 있어유
다음 예시를 보고 이해해봐유

더보기

#일반적인 방식
>>> a = [ ]
>>> for i in range(1, 5):
...     a.insert(i-1, i * i)
...
a
[1, 4, 9 ,16]

#리스트 내포
>>> a = [i * i for i in range(1, 5)]
a
[1, 4, 9 ,16]


몇줄짜리 명령을 단 한줄로 바꿀 수 있다는 점에서 매력적인 것이에유
그럼 여기서 if문도 활용해보면 어떨까유?

더보기

#리스트 내포 + if문
>>> a = [i * i for i in range(1, 6) if i % 2 != 0]
a
[1, 9 ,25]


if문의 조건문이 만족할 때의 변수만 for문 앞의 문장이 실행되어 리스트의 요소로 들어가는 것을 확인할 수 있어유
활용하기에 따라 코드를 압축할 수 있으니 알아두면 유용하겠쥬?

 

 

어느덧 제어문도 다 알아봤네유
다음에 배울 함수에 대해 알아보기 전에 복습 한번 쭉 하시는걸 추천드려유
까먹으면 활용을 못해유!

반응형
Comments