Language/Python

Python - range(), 순차적인 숫자를 가지는 list를 생성하는 함수

TechNote.kr 2018. 1. 3. 16:38
728x90


range



>>> range(stop)

>>> range(start, stop[, step])


전달받은 인자를 바탕으로 순차적인 숫자를 가지는 list를 생성한다.


인자는 plain integer형 이어야 한다. 


인자 중 stop은 반드시 입력되어야 하는 반면, start는 생략되면 기본값으로 0, step은 생략되면 기본값으로 1이 주어진다. 


순차적인 숫자가 다음과 같은 규칙으로 생성된다. 


[start, start + step, start + 2 * step, start + 3 * step, ...]


step 이 양수이면 start + i * step 이 stop 보다 작을 때까지,

step 이 음수이면 start + i * step 이 stop 보다 클 때까지 생성된다. 


step은 0이면 안된다.


__builtin__ module에 포함된 function 이다.  



range 함수 사용 예)

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10,2)
[1, 3, 5, 7, 9]
>>> range(10,1,-2)
[10, 8, 6, 4, 2]
>>> range(0)
[]


step이 0일 경우 

>>> range(1,10,0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: range() step argument must not be zero


range가 반환하는 형식 확인 

>>> type(range(10))
<type 'list'>



>>> help(range)


Help on built-in function range in module __builtin__:


range(...)

    range(stop) -> list of integers

    range(start, stop[, step]) -> list of integers


    Return a list containing an arithmetic progression of integers.

    range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.

    When step is given, it specifies the increment (or decrement).

    For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!

    These are exactly the valid indices for a list of 4 elements.





728x90