콘텐츠로 건너뛰기

파이썬 range 역순 사용법

[

Python range(): 숫자 범위 표현

Python의 range는 정수 범위를 나타내는 객체입니다. 일반적으로 숫자들은 연속적이지만, 간격을 지정하여 표현할 수도 있습니다. range()를 호출하여 하나, 두 개 또는 세 개의 인수를 사용하여 범위를 생성할 수 있습니다. 다음은 예시입니다:

>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(1, 7))
[1, 2, 3, 4, 5, 6]
>>> list(range(1, 20, 2))
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

각 예시에서는 list()를 사용하여 범위의 개별 요소를 명시적으로 나열하였습니다. 이 예시들을 자세히 살펴보겠습니다.

이 튜토리얼에서는 다음을 배울 것입니다:

  • 연속적인 정수의 범위를 나타내는 range 객체 생성하기
  • 일정 간격으로 떨어진 숫자의 범위 나타내기
  • 사용 사례에 따라 range가 적합한 해결책인지 결정하기
  • 대부분의 반복문에서 range를 피하기

range는 때때로 강력한 도구가 될 수 있습니다. 하지만 이 튜토리얼에서는 상황에 따라 더 적합한 대안을 탐구할 것입니다. 이 튜토리얼에서 볼 수 있는 코드를 다운로드하려면 다음 링크를 클릭하세요:

숫자 범위 생성하기

Python에서 range()는 기본으로 제공되는 함수입니다. 따라서 어떠한 준비도 필요하지 않고 언제든지 range()를 호출할 수 있습니다. range()를 호출하면 범위 객체가 생성되며 이를 활용할 수 있습니다. 나중에 실제 예제를 통해 범위 객체의 활용법을 알아볼 것입니다.

range()에는 하나, 두 개 또는 세 개의 정수 인수를 전달할 수 있습니다. 이에 따라 다음 세 가지 사용 사례가 있습니다:

  1. 0부터 시작하는 범위
  2. 연속된 숫자들의 범위
  3. 일정한 간격으로 숫자를 스킵하는 범위

각각에 대해 자세히 알아보겠습니다.

0부터 시작하는 범위

range()를 하나의 인수와 함께 호출하면, 제공한 숫자부터 시작하여 해당 숫자 이전까지의 범위를 생성합니다:

>>> range(5)
range(0, 5)

여기서 0부터 5까지의 범위를 생성하였습니다. 범위의 개별 요소를 확인하기 위해 list()를 사용하여 범위를 리스트로 변환할 수 있습니다.

실행 가능한 예시 코드:

range_obj = range(5)
converted_list = list(range_obj)
print(converted_list)

실행 결과:

[0, 1, 2, 3, 4]

이와 같이 범위를 생성하고 리스트로 변환하여 개별 요소를 확인할 수 있습니다.

숫자들의 연속 범위

range()를 두 개의 인수와 함께 호출하면, 첫 번째 인수에서 시작하여 두 번째 인수 이전까지의 연속된 숫자의 범위를 생성합니다:

>>> range(1, 7)
range(1, 7)

여기서 1부터 6까지의 연속된 범위를 생성하였습니다. 마찬가지로 list()를 사용하여 범위를 리스트로 변환하여 개별 요소를 확인할 수 있습니다.

실행 가능한 예시 코드:

range_obj = range(1, 7)
converted_list = list(range_obj)
print(converted_list)

실행 결과:

[1, 2, 3, 4, 5, 6]

이와 같이 첫 번째 인수부터 두 번째 인수 이전까지의 연속된 범위를 생성할 수 있습니다.

숫자 간격 지정하기

range()를 세 개의 인수와 함께 호출하면, 시작 숫자부터 두 번째 인수 이전까지 일정한 간격으로 숫자를 스킵하는 범위를 생성할 수 있습니다:

>>> range(1, 20, 2)
range(1, 20, 2)

여기서 1부터 19까지의 숫자를 2의 간격으로 스킵하여 범위를 생성하였습니다. 마찬가지로 list()를 사용하여 범위를 리스트로 변환하여 개별 요소를 확인할 수 있습니다.

실행 가능한 예시 코드:

range_obj = range(1, 20, 2)
converted_list = list(range_obj)
print(converted_list)

실행 결과:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

이와 같이 시작 숫자부터 일정한 간격으로 숫자를 스킵하여 범위를 생성할 수 있습니다.

범위 순회 또는 대안 사용하기

범위를 순회할 때 range를 사용하는 것보다 다른 대안이 더 효과적일 수 있습니다. 가장 일반적인 경우인 기본 반복문에서는 range 대신에 다른 방법을 사용하는 것이 좋습니다. 예를 들어 for 반복문을 사용하여 자동으로 범위를 순회하거나 enumerate()를 사용하여 순회하는 동안 인덱스를 생성하거나 zip()을 사용하여 동시에 반복하는 등의 방법이 있습니다.

여러 가지 대안 사용 방법에 대해서는 다음 섹션에서 자세히 알아보겠습니다.