티스토리 뷰

Python

[Python] Consecutive Lists: Range

Dongi 2022. 2. 1. 09:59

 

 

안녕하세요 동기 여러분!

오늘은 range() 함수에 대해 알아봅시다!

 

 

 

 

 

Range

range는 '범위', '폭'이라는 뜻을 가지고 있습니다. 이 range를 사용하여 연속적인(consecutive) 리스트를 아주 손쉽게 만들어 줄 수 있다는 사실!

 


 

사용 방법

zero_to_ten = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

위의 코드를 만들려면 일일이 0부터 10까지 다 작성을 해야 하는 번거로움이 있습니다. 특히 키보드에 숫자와 키보드의 거리가 손이 왔다 갔다 하기엔 상당히 불편합니다.

 

파이썬에서는 이런 우리의 고충을 알고 일일이 작성을 하는 대신에 range()라는 함수로 한방에 뚝딱! 만들 수 있게 해 주었습니다.

 

 

zero_to_ten = list(range(11))

print(zero_to_ten)

# 출력값 : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • zero_to_ten이라는 변수에 list() 함수를 사용하여 함수에 들어오는 독립 변수(여기서는 range(11))를 리스트화 시키고
  • range(11) 함수를 사용하여 0부터 10까지의 숫자를 넣으면 출력값이 위와 같이 나옵니다.

 

※ list() 함수로 감싸지 않으면 어떻게 될까요?

"응 0부터 11이 범위야"라고 말해주고 있네요!

 

range() 함수를 좀 더 깊게 알아봅시다.

range() 함수를 사용할 때 매개변수는 총 3개를 넣을 수 있습니다.

 

  • 시작 번호는 어떤 번호로 시작을 할지 우리가 정해 줄 수 있습니다 만약 range(4, 10)이면 4부터 9까지의 숫자가 사용되는 것이죠! 이 매개변수는 선택사항이기 때문에 기입하지 않는다면 기본값으로 0이 자동으로 들어갑니다.
  • 마지막 번호 때문에 헷갈리는 경우가 생기는데 내가 15까지의 숫자를 넣고 싶다면 range(16)을 넣어줘야 15까지의 숫자가 사용됩니다. 항상 원하는 숫자는 기입하는 숫자(독립변수) 바로 전 숫자까지 적용된다고 보시면 됩니다.
  • 스텝은 숫자가 얼마나 커질지 정해 줄 수 있습니다. 만약 range(0, 9, 2)라면 0부터 2씩 커지는 숫자가 9의 전 숫자까지 들어오게 됩니다. → 0, 2, 4, 8 그리고 스텝을 사용하기 위해서는 반드시 시작 번호를 지정해주어야 합니다.

 

 

예제를 해봅시다.

4부터 40까지의 숫자를 가진 리스트를 출력하세용!

a = list(range(4, 41))
print(a)

# 출력값 : [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40]

 

 

 

8부터 4씩 증가하며 30까지의 숫자를 가진 리스트를 출력하세용!

b = list(range(8, 31, 4))
print(b)

# 출력값 : [8, 12, 16, 20, 24, 28]

 

 

 

50부터 -8씩 줄어들며 1까지의 숫자를 가진 리스트를 출력하세용!

c = list(range(50, 0, -8))
print(c)

# 출력값 : [50, 42, 34, 26, 18, 10, 2]

 

 

 

0부터 8까지의 숫자를 가진 리스트를 출력하세용!

d = list(range(9))
print(d)

# 출력값 : [0, 1, 2, 3, 4, 5, 6, 7, 8]

 

 

 

10부터 -1씩 줄어들며 -2까지의 숫자를 가진 리스트를 출력하세용!

e = list(range(10, -3, -1))
print(e)

# 출력값 : [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2]
  • 숫자가 점점 줄어드는 상황에도 마지막 숫자-3을 기입해야 -2까지 적용(기입하는 숫자 바로 전 숫자까지 적용되기 때문)이 됩니다.

 


 

오늘의 느낌

오늘 알아본 내용은 마지막 숫자 때문에 조금 헷갈리긴 하는데 자꾸 하다 보면 또 헷갈리니까 어디 잘 정리해두고 가끔씩 찾아보도록 합시닼ㅋㅋ

 

'Python' 카테고리의 다른 글

[Python] Slicing Lists (1)  (0) 2022.02.01
[Python] Length  (0) 2022.02.01
[Python] Insert, Pop  (0) 2022.02.01
[Python] Modifying 2D Lists  (0) 2022.01.31
[Python] 2D Lists  (0) 2022.01.31
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함