본문 바로가기

IT/python

[python] 파이썬의 for문

안녕하세요 남갯입니다


오늘은 파이썬의 for문에 대해 알려드리도록 하겠습니다


for문의 기본적인 구조는


for 변수 in 리스트(또는 튜플, 문자열)

수행할 문장1

수행할 문장2


입니다.



list = ['test1','test2','test3']

for i in list:
print(i)


이런 형태가 for문의 기본입니다


i에 리스트안에 있는 test1,test2,test3이 대입되어 문장을 수행하고 마지막요소까지 반복하게 됩니다.


==================================================

test1

test2

test3

==================================================



파이썬에서의 for문은 위와같은 장점이 있으며


다양한 for문이 사용가능하다는 장점이 있습니다.


a = [('a','b'),('c','d'),('e','f')]

for (first,last) in a :
print(first + last)



이와같은 소스가 존재한다고 했을때


a와 b, c와d, e와 f는 각각 first last ..로 들어가게 됩니다


==================================================

ab

cd

ef

==================================================

와 같은 결과물이 나오게 됩니다.




하지만 우리가 1부터 10까지의 합을 구하려면 어떻게 해야할까?

a = (1,2,3.....10) ???


바로 range 함수가 존재한다 range(1,11)을 이용하면 1에서 11까지의 수를 일컫는다

a = range(10) = range(0,10)


sum = 0
for i in range(1,11):
sum = sum + i

print(sum)

이렇게 이용하게 되면


==================================================

55

==================================================


와 같은 결과를 얻을 수 있다.



파이썬은 리스트 내포를 이용할 수 있다. 

이걸보고 파이썬은 참 간편하게 만든 언어이구나 싶었다.


[표현식 for 항목 in 반복 가능 객체 if 조건]



a = [1,2,3,4]
result = []
for num in a:
result.append(num*3)
print(result)

==================================================

[3, 6, 9, 12]

==================================================


이렇게 1,2,3,4를 3을 곱한 배열로 출력할라고 할 때


a = [1,2,3,4]
result = [num * 3 for num in a]
print(result)


이렇게 표현이 가능하고,


a = [1,2,3,4]
result = [num * 3 for num in a if num *3 > 9]
print(result)


9보다 큰수만 표현하려고 할 때 if문에 저런형태로 가능하다.


==================================================

[12]

==================================================


이런것을 리스트 내포라고 한다. 



- 공부의 출처 = 점프 투 파이썬