본문 바로가기
카테고리 없음

[Python] 특집 - range()를 활용한 반복문

by Echinacea 2025. 3. 18.
반응형

range() 함수는 숫자 범위를 생성하는 내장 함수로, 반복문에서 자주 사용됩니다. 이 문서에서는 range()의 다양한 활용법과 최적화 방법을 알아봅니다.


 

 

🔹 1. 기본적인 range() 사용법

 

✅ 예제 1: 0부터 9까지 출력

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

📌 설명: range(10)은 0부터 9까지의 숫자를 생성합니다.

 

✅ 예제 2: 1부터 10까지 출력

for i in range(1, 11):
    print(i)

📌 설명: range(1, 11)은 1부터 10까지의 숫자를 생성합니다.


 

 

🔹 2. step을 활용한 range()

 

✅ 예제 3: 2씩 증가하는 숫자 출력

for i in range(0, 10, 2):
    print(i)

📌 설명: range(0, 10, 2)는 0부터 시작하여 2씩 증가하며 8까지 출력합니다.

 

✅ 예제 4: 역순으로 숫자 출력

for i in range(10, 0, -1):
    print(i)

📌 설명: range(10, 0, -1)은 10부터 1까지 1씩 감소하는 숫자를 생성합니다.


 

 

🔹 3. 리스트와 함께 사용하는 range()

 

✅ 예제 5: 리스트 인덱스로 접근하기

fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
    print(i, fruits[i])

📌 설명: range(len(fruits))를 사용하여 리스트의 인덱스를 활용할 수 있습니다.

 

✅ 예제 6: enumerate()와 함께 사용하기

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(index, fruit)

📌 설명: enumerate()를 활용하면 range() 없이 인덱스를 쉽게 얻을 수 있습니다.


 

 

🔹 4. range()와 sum(), list() 활용

 

✅ 예제 7: sum()을 활용한 숫자 합산

print(sum(range(1, 101)))  # 1부터 100까지의 합

📌 설명: sum(range(1, 101))을 사용하면 1부터 100까지의 합을 쉽게 구할 수 있습니다.

 

✅ 예제 8: list()를 활용한 리스트 생성

numbers = list(range(5))
print(numbers)  # [0, 1, 2, 3, 4]

📌 설명: list(range(5))를 사용하면 0부터 4까지의 숫자를 포함한 리스트를 생성할 수 있습니다.


 

 

🔹 5. range()의 메모리 최적화 특징

range()는 이터레이터(iterator) 역할을 하므로, 메모리를 절약하면서 큰 숫자 범위도 처리할 수 있습니다.

 

✅ 예제 9: 큰 숫자 범위 처리

for i in range(10**6):
    pass  # 100만 개의 숫자를 생성하지만 메모리를 적게 사용함

📌 설명: range(10**6)은 리스트를 만들지 않고 숫자를 하나씩 생성하여 메모리를 효율적으로 사용합니다.

 

✅ 예제 10: list(range())의 차이점

nums1 = range(10**6)  # 메모리 절약
nums2 = list(range(10**6))  # 메모리 소비 증가

📌 설명: range(10**6) 자체는 메모리를 거의 사용하지 않지만, list(range(10**6))는 모든 숫자를 저장하므로 메모리를 많이 사용합니다.


 

반응형

댓글