파이썬에서 몇몇 구문의 실행범위를 지정하기 위해 range A in B .. 를 사용할 때, enumerate() 를 호출하는 경우를 자주 보게 된다.

enumerate 함수는, 파라미터에 리스트나 튜플 객체를 넣을 경우 해당 객체의 인덱스 번호와 값(value)들을 한 쌍씩 차례로 리턴한다. 리턴값은 튜플 형식이다. -- (인덱스번호,해당 위치의 값)

이를테면 다음과 같은 리스트가 있을 때, enumerate() 를 걸고 리스트로 출력하면,

# -*- coding:utf-8 -*-

samplelist = ["가","나","다","라","마"]

# 샘플 리스트에 enumerate() 를 걸고, 리스트화( list() )
result = list ( enumerate( samplelist ) ) 

# 출력
print(result)

결과값은 다음과 같다.

[ (0, '가'), (1, '나'), (2, '다'), (3, '라'), (4 ,'마') ]


따라서, for문에서 리스트나 튜플을 사용할 경우 해당 객체 내의 인덱스 번호와 값을 모두 불러올 수 있다.

for x, y in enumerate(['a','b','c','d','e']):

    print (x)

    print (y)

    print("----%d번째 반복----" %(x+1))

튜플의 첫번째, 두번째 항목을 차례로 불러오므로, (0,'a')의 0 과 a , (1,'b')의 1과 b ... 순으로 출력될 것이다.

0

a

----1번째 반복----

1

b

----2번째 반복----

2

c

----3번째 반복----

3

d

----4번째 반복----

4

e

----5번째 반복----


자욱님의 창작활동을 응원하고 싶으세요?