[정보처리기사] python의 range의 범위에 대해 알아보자

2025. 10. 17. 13:00정보처리기사

728x90
반응형

 

 안녕하세요. 진득코딩입니다.

 

 이번 시간에는 저번 시간에 이어서 파이썬의 연속된 숫자들의 시퀀스를 생성할 때 사용하는 range()에 대해 알아보도록 하겠습니다.

 

range()

 

  • 파이썬에서 range()는 연속된 숫자들의 시퀀스를 생성할 때 사용됩니다.

  • 주로 반복문(for)과 함께 사용되며, 간결하면서도 강력한 기능을 제공합니다.

  • range는 실제 리스트를 바로 만드는 것이 아니라, 필요한 순간에 값을 하나씩 생성하는 이터러블 객체이기 때문에 메모리를 효율적으로 사용할 수 있습니다.

코드로 알아보는 range()
range의 활용


# 1. range 객체를 변수로 저장하기
r = range(1, 21) # 1부터 20까지 (20은 포함되지 않음)
print("range 객체 r:", r)


# 2. range로 리스트 만들기
numbers = list(r)
print("list(r):", numbers)


# 3. append()로 새로운 리스트 구성하기
squares = []
for i in r:
squares.append(i ** 2)
print("1~20 제곱값:", squares)


# 4. range를 활용해 짝수 리스트 만들기
odds = []
for i in range(1, 21):
if i % 2 == 1:
odds.append(i)
print("1~20 홀수:", odds)


# 5. len()으로 길이 확인하기
print("len(numbers):", len(numbers)) # 20개
print("len(odds):", len(odds)) # 10개


# 6. 다른 예시 — step을 사용한 range
by_three = list(range(0, 21, 3))
print("3씩 증가하는 숫자:", by_three)

 

 range() 같은 이터러블 객체뿐만 아니라 언어의 개념을 이해할 때는 코드를 통해 살펴보는 것이 가장 효과적이라고 생각합니다. 해당 코드를 분석하면서 range()가 어떻게 동작하는지 살펴보고 range()의 특징을 알아보도록 하겠습니다.

 

range를 변수로 사용하기

 

r = range(1, 21)

 

  • range()는 range(start, stop) 형식으로 사용하며, 위 예제에서는 1부터 시작해 21 직전까지의 숫자를 생성합니다.

  • range는 이터러블 객체로서 반복문에서 직접 사용할 수 있습니다.

  • 리스트로 변환하지 않아도, for문에서 순회가 가능합니다.

예시 :

for i in r:
print(i, end=' ')

 

결과 :

1 2 3 ... 20

 

마지막 숫자는 포함하지 않는 range

 

  • range(1, 21)은 1부터 20까지만 포함합니다. 즉, stop 인자는 항상 제외됩니다.

  • 이 특성을 활용하면 리스트의 인덱스(0부터 시작) 제어가 훨씬 직관적이게 됩니다.

예시:

# 0~4까지만 출력
for i in range(5):
print(i)

 

결과:

0
1
2
3
4

 

append()와 함께 사용하기

 

squares = []
for i in r:
squares.append(i ** 2)

 

  • append()는 리스트의 마지막에 새로운 원소를 추가하는 함수입니다.

  • range로 반복하면서 각 원소의 연산 결과를 누적할 때 유용합니다.

응용 예시

cubes = []
for n in range(1, 6):
cubes.append(n ** 3)
print(cubes) # [1, 8, 27, 64, 125]

 

 

len()으로 리스트 크기 확인하기

 

print("len(numbers):", len(numbers))

 

  • len() 함수는 리스트, 문자열 등 컨테이너의 길이(원소 개수)를 반환합니다.

  • range(1, 21)은 총 20개의 값을 만들기 때문에 len(number)는 20이 됩니다.

예시:

r = range(5, 10)
print(len(list(r))) # 5

 

 

  • range는 메모리를 절양하는 이터러블 객체입니다.

  • stop 인자는 포함되지 않으며, range(a, b)는 a부터 b-1까지입니다.

  • append()로 데이터를 리스트에 저장하고, len()으로 개수를 쉽게 확인할 수 있습니다.

 

 지금까지 파이썬의 range에 대해서 살펴보았습니다.

 

 range는 단순히 반복문에서 사용하는 도구를 넘어, 규칙적인 숫자 시퀀스를 효율적으로 다룰 수 있는 핵심 함수입니다.

 

 특히 stop 인자가 포함되지 않는다는 점만 확실히 이해하고 있다면, 정처기 시험에서 쉽게 풀 수 있는 문제를 만나는 행운이 뒤따를 거라고 생각합니다.

 

 오늘 살펴본 range의 마지막 숫자는 포함되지 않는다는 사실 정도는 꼭 챙겨가시길 바랍니다.

 

 이번 포스팅은 여기까지입니다. 끝까지 봐주셔서 감사합니다.😀

728x90
반응형
LIST