본문 바로가기

Python

[Python] 반복문의 사용 Range, Enumerate, for in loop

반응형

Range

Python에서 range 함수는 자주 사용되는 함수 중 하나입니다. 연속된 숫자(정수)를 만들어주는 range() 함수의 사용법을 정리해봅니다.

 

1. range(종료숫자): (종료숫자-1)까지 1씩, 숫자를 증가시키게 됩니다. 0부터 시작합니다.

2. range(시작숫자, 종료숫자): 시작숫자를 시작으로 (종료숫자-1)까지 1씩, 숫자를 변경합니다.

2. range(시작숫자, 종료숫자, Step): 시작숫자를 시작으로 (종료숫자-1)까지 Step만크 변화시키며 숫자를 변경합니다.

 

range()의 결과는 반복가능(iterable)하기 때문에 for문을 사용해 출력 할 수 있습니다. 보통 일반적으로 사용하는 방법입니다.

range_1 = range(10)
print("\n-- list(range_1)\n", list(range_1))
print("\n-- tuple(range_1)\n", tuple(range_1))

range_2 = range(1, 10)
print("\n-- list(range_2)\n", list(range_2))

range_3 = range(0, 10, 2)
print("\n-- list(range_3)\n", list(range_3))

range_4 = range(10, 1, -2)
print("\n-- list(range_4)\n", list(range_4))

 

Range는 listtuble형태로 변환하여 값을 확인할 수 있습니다. 

-- list(range_1)
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

-- tuple(range_1)
 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

-- list(range_2)
 [1, 2, 3, 4, 5, 6, 7, 8, 9]

-- list(range_3)
 [0, 2, 4, 6, 8]

-- list(range_4)
 [10, 8, 6, 4, 2]

 


Iterable 운영

 

iterable값은 실전에서 for, enumerate를 조합하여 프로그램합니다.

for i in range_4:
    print(i)

for i in enumerate(range_4):
    print(i)

for i, v in enumerate(range_4):
    print(i, v)

 

enummerate의 경우 반복문 사용 시 몇 번째 반복문인지 확인이 필요할 경우 사용하면 유용합니다. 인덱스 번호와 컬렉션의 원소를 tuple형태로 반환합니다.

#for
10
8
6
4
2

#enumerate - tuple
(0, 10)
(1, 8)
(2, 6)
(3, 4)
(4, 2)

#enumerate - tuple
0 10
1 8
2 6
3 4
4 2

 

반응형