[파이썬] Python enumerate() 예제

파이썬에서는 enumerate 클래스를 사용하여 iterable 자료형에 대한 처리를 할 수 있습니다.

iterable 자료형의 값과 인덱스 번호를 함께 가져올 수 있습니다.

iterable은(는) 반복 가능한 객체를 의미합니다.

for in 문 형식에서 enumerate클래스를 사용하여 처리할 수도 있어요.

파이썬 enumerate 클래스

class enumerate(object):
	........생략
    def __init__(self, iterable, start=0): # known special case of enumerate.__init__
        """ Initialize self.  See help(type(self)) for accurate signature. """
        pass


다음은 for문을 사용하여 list 결과를 출력하는 예제입니다.

enumerate클래스의 인덱스 시작값은 0입니다. (1 또는 -1이 아님으로 숙지해야합니다.)

인덱스 번호와 값을 tuple자료형태로 반환합니다.

list = ["오렌지", "귤", "바나나", "포도", "복숭아"]
for item in enumerate(list):
    print(item)


#실행결과
(0, '오렌지')
(1, '귤')
(2, '바나나')
(3, '포도')
(4, '복숭아')

다음 예제는 for문에 변수 2개를 사용하여 index와 value 값을 가져오는 방법입니다.

enumerate클래스는 인자값으로 start변수를 받고 있습니다. 인덱스의 시작값을 설정할 수 있습니다.

list = ["오렌지", "귤", "바나나", "포도", "복숭아"]
for idx, val in enumerate(list):
    print("idx:", idx, "    val:", val)

print("--- 시작 인덱스 값 변경 ", '-'*20)

for idx, val in enumerate(list, start=1):
    print("idx:", idx, "    val:", val)



#실행결과
idx: 0     val: 오렌지
idx: 1     val: 귤
idx: 2     val: 바나나
idx: 3     val: 포도
idx: 4     val: 복숭아
--- 시작 인덱스 값 변경  --------------------
idx: 1     val: 오렌지
idx: 2     val: 귤
idx: 3     val: 바나나
idx: 4     val: 포도
idx: 5     val: 복숭아

파이썬 튜플(tuple) 자료형의 경우에도 iterable이 가능한 자료형입니다.

그럼으로 enumerate를 사용하여 처리할 수 있습니다.

tuple_val = ("오렌지", "귤", "바나나", "포도", "복숭아")
for idx, val in enumerate(tuple_val):
    print("idx:", idx, "    val:", val)
    
    
#실행결과
idx: 0     val: 오렌지
idx: 1     val: 귤
idx: 2     val: 바나나
idx: 3     val: 포도
idx: 4     val: 복숭아

파이썬에서 자료형의 타입중에 iterable한 타입의 종류는 다음과 같습니다.

  • list
  • dictionay
  • set
  • string
  • tuple
  • bytes

카테고리 글 더 보기

error: Content is protected !!