enumerate()가 뭐야?

minsing-jin·2022년 11월 26일
0
post-thumbnail
  • 리스트가 있는 경우 순서와 리스트 값을 전달하는 기능

1. 구성

1-1. 형태

  • enumerate(iterable, start=0)

  • 부연설명: iterable한 자료형(list, set, tuple, dictionary, string)을 입력으로 받아 인덱스 값과 element들을 tuple로 묶어서 enumerate 객체를 리턴

1-2. parameter

  • iterable: iterable한 자료형(list, set, tuple, dictionary, string)
  • start=0: 순서 체크의 시작점
    ex)
list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

2. 쓰임

  • 기본적으로 for loop에서 많이 쓰임
  • index와 element를 동시에 얻고자 할때
>>> for entry in enumerate(['A', 'B', 'C']):
...     print(entry)
...
(0, 'A')
(1, 'B')
(2, 'C')

tip) 고급 응용(2차원 matrix)

>>> matrix = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]

# 일반 
>>> for r in range(len(matrix)):
...     for c in range(len(matrix[r])):
...             print(r, c, matrix[r][c])
...
0 0 A
0 1 B
0 2 C
1 0 D
1 1 E
1 2 F
2 0 G
2 1 H
2 2 I

2차원 matrix의 좌표를 보다더 가시성 높은 코드로 한꺼번에 알수 있음.

# enumerate 응용
>>> for r, row in enumerate(matrix):
...     for c, letter in enumerate(row):
...             print(r, c, letter)
...
0 0 A
0 1 B
0 2 C
1 0 D
1 1 E
1 2 F
2 0 G
2 1 H
2 2 I

3. 정리

  • for문을 통해서 인덱스와 요소들을 동시에 얻고 싶을때 enumerate을 쓴다.

참고문헌
1.https://www.daleseo.com/python-enumerate/
2.https://wikidocs.net/20792

profile
why not? 정신으로 맨땅에 헤딩하고 있는 코린이

0개의 댓글