반응형
파이썬 정수 리스트를 생성하는 range 함수를 설명한 포스팅입니다.
range 함수란
특정 규칙이 있는 정수 리스트를 생성하려면 귀찮으시죠? 모든 숫자를 하나하나 입력하셔야 되니까요.
한번에 해결 가능한 방법이 있습니다. range 함수를 사용하면 정수로 이루어진 숫자 리스트를 한번에 생성할 수 있습니다.
나아가 숫자 범위는 일정한 규칙의 배열도 가능해요. 예를 들어 1,2,3,4,5 .. 와 같이 오름차순으로 정렬하거나 5,4,3,2... 와 같이 내림차순 정렬도 할 수 있습니다. 추가로 간격이 꼭 1이 아니어도 되요.
예시를 보면서 이해해 봅시다.
예시 1 : 0부터 5까지 생성하기
>>> numbers = range(4) # 괄호()안에 숫자 입력
>>> print(numbers)
range(0, 4) # range(0,4)는 오른쪽 리스트와 동일한 의미에요 ==> [0, 1, 2, 3]
range(0,4)는 오른쪽 리스트와 동일한 의미에요 ==> [0, 1, 2, 3] 즉 함수의 괄호( ) 안에 숫자 한 개만 입력하는 경우 0부터 stop숫자까지 리스트를 생성합니다.
예시 2 : for문을 이용해서 출력하기
range 함수로 생성된 숫자 범위는 리스트와 동일하게 for문을 이용해서 출력할 수도 있습니다.
>>> for n in range(5) :
>>> print(n)
0 1 2 3 4 # 리스트를 사용할 때와 동일하게 출력됩니다.
예시 3 : range를 통해 명시적인 list 만들기
list 타입 속에 range 를 넣으면 명시적으로 list를 출력 할 수 있습니다.
>>> numbers = list(range(5))
>>> print(numbers)
[0, 1, 2, 3, 4]
예시 4 : 시작숫자, 증가숫자 지정하기
start숫자와 stop숫자를 지정하면 시작 숫자부터 정지 숫자까지 출력되구요. 변수를 하나 더 줘서 step 을 지정하면, step 숫자만큼 증가됩니다. 아래 예시로 쉽게 확인하세요.
# 시작변수 지정 예시
>>> for n in range(1, 11) : # range(start, stop)
>>> print(n)
1 2 3 4 5 6 7 8 9 10
# 증가변수 지정 예시
>>> for n in range(1, 11, 2) : # range(start, stop, step)
>>> print(n)
1 3 5 7 9
예시 5 : 역순으로 증가숫자 지정하기
숫자를 역순으로 출력하시려면 step 숫자에 음수값을 넣어주면 간단하게 해결되겠죠??
# 역순으로 출력하기
>>> for i in range(9, 0, -1): # 10부터 1까지 출력
>>> print(i)
9 8 7 6 5 4 3 2 1
최근댓글