Python range 연속된 정수 만들기

Python 의 range 함수에대해 살펴보겠습니다.

제목처럼 range 함수는 연속된 정수를 만들어주는 함수입니다.

 

range 함수는 매개변수의 갯수에따라 사용법을 나눌수 있습니다.

 

1. range(stop) - 선언 및 매개변수가 하나일때

매개변수가 하나일때 해당 매개변수는 마지막 숫자를 의미합니다.

0부터 마지막숫자 전까지 정수들을 얻을 수 있습니다.

>>> ran = range(10)
>>> ran
range(0, 10)

>>> type(ran)
<class 'range'>

여기서 주의할점은 0부터 10까지의 숫자가 출력되는게 아니라 range(0,10) 이라는

range 타입으로 출력된다는 것이다.

 

그래서 우리는 주로 range 자료형으로 생성된 숫자범위를 List로 바꿔 사용하거나 for문을 이용해 사용합니다.

>>> range(3)
range(0, 3)

>>> list(range(3))
[0, 1, 2]

>>> for num in range(3):
       print(num)
0
1
2

 

 

2. range(start, stop) - 매개변수가 두개일때

매개변수가 2개인경우 첫번째 매개변수가 시작하는 숫자, 두번째 매개변수가 마지막 숫자가됩니다.

시작숫자는 당연히 마지막숫자보다 작아야 합니다.

>>> list(range(1, 5))
[1, 2, 3, 4]

>>> list(range(-3, 2))
[-3, -2, -1, 0, 1]

>>> list(range(5, 1))
[]

 

 

3. range(start, stop, step) - 매개변수가 세개일때

매개변수가 3개일때는 첫번째 매개변수는 시작숫자, 두번째는 마지막숫자, 세번째는 숫자사이의 간격을 나타냅니다.

숫자사이의 간격으로 음수도 지정할 수 있습니다. 이때는 시작숫자가 반드시 마지막숫자보다 커야되겠죠??

>>> list(range(0, 10, 3))
[0, 3, 6, 9]

>>> list(range(10, 0, -3))
[10, 7, 4, 1]

>>> list(range(5, 0, -1))
[5, 4, 3, 2, 1]