달나라 노트

Python Basic : range() 본문

Python/Python Basic

Python Basic : range()

CosmosProject 2020. 12. 9. 13:27
728x90
반응형

 

 

range()

range()는 주로 for loop와 함께 쓰이는 함수입니다.어떠한 기능을 가지는지 한번 봅시다.




x = list(range(5))

print(x)
print(type(x))

- Output
[0, 1, 2, 3, 4]
<class 'list'>
  

range 함수는 인자로서 숫자를 받습니다.위 예시에선 range 함수의 인자로 5라는 숫자가 주어졌습니다.

 

5라는 숫자를 받은 range함수는 0부터 시작하여 4(=5-1)까지 1씩 증가하는 숫자들을 인자로서 가지게되는 list를 만들어낸다고 생각하면 됩니다.




for i in range(5):
    print(i)

- Output
0
1
2
3
4
  

range는 어떤 숫자를 받아 list를 생성하기 때문에 위 예시처럼 for loop와 함께 사용할 수 있는 것이죠.




x = list(range(2, 5))

print(x)
print(type(x))

- Output
[2, 3, 4]
<class 'list'>
  

또한 range는 한 번에 2개의 숫자를 인자로서 받을 수도 있습니다.

 

이 경우 첫 번째 숫자는 생성할 list의 시작 숫자이며 두 번째 숫자에서 1을 뺀 숫자가 list의 마지막 요소가 됩니다.

 

위 예시의 range(2, 5)는 2부터 시작하며 4(=5-1)까지의 정수들을 인자로서 가지는 list를 생성합니다.




x = list(range(2, 10, 2))

print(x)
print(type(x))


x = list(range(10, 2, -2))

print(x)
print(type(x))

- Output
[2, 4, 6, 8]
[10, 8, 6, 4]
<class 'list'>
  

range는 한 번에 3개의 숫자를 인자로서 받을 수도 있습니다.

 

이 경우 각 인자별 의미는 다음과 같습니다.

첫 번째 숫자 -> 시작값

두 번째 숫자 -> 끝값

세 번째 숫자 -> 증감

 

위 예시에서 range(2, 10, 2)는 2에서 시작하여 숫자를 2씩 증가시켜 list를 만들되 마지막 값은 9보다 작은 숫자들을 list로 반환합니다.

 

range(10, 2, -2)는 10부터 시작하여 숫자를 2씩 감소시켜(-2) list를 만들되 마지막 값은 3보다 큰 숫자들을 list로 반환합니다.

 

두 번째 예시에서 주의할 점은 끝값이 2로 적혀있다는 것입니다.

 

range의 증감폭이 -2이므로 숫자는 점점 감소할것이고, 이때 마지막 값이 2라는 것은 1(=2-1)이 아니라 10부터 시작하여 감소할 때 2보다 한칸 전 값인 3이 되어야합니다.

 

즉, 단순히 마지막 값에서 -1을 빼는게 아니라 하나 전 값을 봐야합니다.

 

10 -> 9 -> 8 -> 7 -> 6 -> 5 -> 4 -> 3(마지막 값의 한칸 전) -> 2(마지막 값)



 

 

 

 

 

728x90
반응형
Comments