본문 바로가기
[개발] 이야기

[python] range를 자유롭게 다루기 (순차,역순,간격 지정)

by 헤이나우
반응형

range 함수는 파이썬에서 아주중요한 함수입니다. 간단하지만 아주 강력하기 때문에 꼭 알아 두시는 게 좋습니다.

range함수는 3개의 파라미터를 받을 수 있습니다.

range(stop: int)

range(stop: int, start: int)

range(stop:int, start:int, step:int)

각각 파라미터가 어떻게 쓰여지는지 알아보겠습니다.

  • 참고
    • 앞으로 나올 for문과 enumerate함수는 range함수를 좀 더 파악하기 쉽게 사용할 겁니다.
  • 간단하게 의미를 알아보도록 하겠습니다.
    • for : 해당 객체가 연속된 객체이면 (list, range 등) 처음부터 끝까지 탐색을 합니다.
    • enumerate : 연속된 객체를 이 함수에 넣으면 index, value 두 개의 값이 튜플로 나오게 됩니다. index는 해당 값이 몇 번째에 있는지에 대한 순번이고 value는 해당 순번에 들어있는 값입니다. 헷갈리기 쉬우나 잘 구분하셔야 합니다.

range(stop: int)

0번째 인덱스부터 stop으로 전달받은 인덱스 전까지 range객체를 만들어 줍니다.

예를 들면 range(5) ⇒ (0,1,2,3,4) 이렇게 구하게 됩니다.

 

 

해석 : 보시다시피 range(10)을 써버 0~9까지 연속된 객체를 만들었고 각각 index와 value를 확인해 보면 index와 value값이 같다는 걸 알 수 있습니다.

range(start: int, stop: int)

시작 인덱스를 지정할 수 있습니다.

예를 들면 range(2,5) ⇒ (2,3,4)로 초기화됩니다.

 

 

해석 : 위에 보시면 range(5,10)으로 초기화했기 때문에 (5,6,7,8,9)가 0번째 인덱스부터 값으로 들어가 있는 걸 볼 수 있습니다.

range(start: int, stop: int, step:int)

range의 step파라미터는 응용하면 유용하게 사용할 수 있습니다.

range를 만들 때 해당 값의 간격을 지정할 수 있습니다.

 

 

해석 : range(5,15,3)을하면 5~14까지 만드는데 5, 8(5+3), 11(5+3+3), 14(5+3+3+3) 이렇게 range를 만들게 됩니다.

여기서 응용하면 range를 역순으로 만들 수 있습니다.

 

 

해석 : range(15, 5, -3)을 하게 되면 15부터 시작해서 5전까지 인덱스를 만들고 스템은 -3인 range를 만들게 됩니다. 주의할 점은 역순으로 만들 땐 시작 값이 stop값보다 커야 합니다.

range함수를 알아봤습니다.

 

파이썬의 강력 함중에 하나인 함수라고 생각되고 간결하고 강력한 기능 중 하나이기 때문에 꼭 익히시기 바랍니다.

 

도움이 되셨다면 공감 부탁드립니다.!

 

반응형

댓글