프로그래밍/Python

[Python] range, enumerate

guitarhero 2017. 10. 18. 13:36
728x90

Python 반복문 for를 사용할때 많이 사용하는 용어는 range와 enumerate이다. 


일반적인 for 문은 

list = [0, 1, 2, 3, 4, 5]

for i in list:

print(i)


이런 모양을 사용한다. 하지만 저렇게 0-5처럼 순차증가하는 리스트는 작성하는 것은 작은수 일때는 별일 아닐수 있지만

100단위가 넘어가는 숫자에는 굉장히 노가다라고 할 수 있다. 그런 불편함을 해결하기 위해서 나온 함수가 range이다. 

range는 범위라는 뜻처럼 사용할 수 있다. 

for i in range(6):

print(i)


이렇게 만들어서 실행하면 위와 똑같은 값이 출력될 것이다. 

range의 사용법은 아래와 같고 물론 끝의 값 제외되는 (다른 프로그램에서 for(var i=0;i<20;i++) 에서 20 과 같은 맥락이다. 

range(끝)

range(시작, 끝)

range(시작, 끝, 증가값)


그리고 enumerate는 리스트의 인덱스와 값을 동시에 가져올 수 있어서 굉장히 유용한 함수 이다. 

list = [0, 1, 2, 3, 4, 5]

for i, number in enumerate(list):

print('{} 번째 요소는 {}'.format(i, number))


이런식으로 사용가능한데 앞쪽의 i에는 index값이 뒤쪽의 number에는 해당 index의 값이 들어오는 것이다. 


물론 다들 알고 계시겠지만 공부한 것을 정리할 겸 적어보았다. 

728x90